I believe our rate settings can accomodate that type of structure. Open your property in OwnerRez and click on the Rates tab. Then do the following:
1) Created a rate period if you haven't already
2) Once you have a rate period, click to view it
3) Add a charge type
4) Under the Charge Type dropdown, select "Single Night"
5) Set the Rate field to the amount you charge PER NIGHT for the 2-4 night stays
6) Finish the other options and Save
That will take care of 2-4 night stays. To handle the 5+ night stays, do the following:
1) Open the rate period and click to add another charge type
2) Under the Charge Type dropdown, select "Week"
3) Set the Rate field to the amount you charge FOR THE ENTIRE STAY of 5 nights
4) Change the Included Nights field to 5
5) Uncheck the "Calculate the rate for extra nights by using other charge types" field
6) Another field will appear below it called "Use Custom Rate" where you'll fill in your PER NIGHT rate for everything after 5.
4) Finish the other options and Save
On the cleaning, we don't have an option to add it some of the time, but you could add it to every booking and then manually remove it on the ones where it isn't charged.
To do that, click the Add-Ons tab and add a Surcharge for "Cleaning Fee" with the amount (or percentage, which you can enter as well).
Then, when a new quote is created, simply click Charges and take off that line item if you don't want it to be included. It's very fast to edit/remove charges from a quote or booking.
Hope this helps,