One thing you could do, (a bit heavy on the upload side and item quantity tracking) would be to create a second shop by:
1. copying the shop you have once it's fully populated with all products by saving it as another name (maybe discount-shop).
2. create a separate directory on your server for it maybe called discount-shop.
3. hide the products not on sale (there are settings that allow you to hide things you don't want showing without having to delete them which is pretty slick.).
4. alter the prices or discount amounts of the items you want on sale.
5. upload the discount shop to the directory you created for it, same as you do your other shop, just altering the upload settings in this one to go to the other directory.
6. Now use CoffeeCup's Website Access Manager to protect that entire directory (be sure to do this correctly so you don't protect your entire site hehe)
Now when you're ready to have sales, give that link with the ID and PW for that exact sale to those that you want to have it and wallah! Private sale location which you can alter any time you want to. You can create ID's and PW's in Website Access Manager to time out on specific dates or lengths can't remember which way it is, I think dates though. You can alter the ID and PW for each sale so that it isn't accessible once a sale is over and so on.
A bit more work than having a coupon system in the program, but very doable for sale items. You'll have to watch your inventory kind of manually though when you do this since you'll have the same items displayed in both shops, unless you change the inventory of the main shop to be minused the amount of items that are in the sale shop. There's ways to do it, but it's a pretty manual thing for the most part.
Hope that helps at least give you some ideas