I wish I had a solution to number 5, but I can point your toward product attributes for number 4.
It can handle what you're looking for by letting you create for example a single Dr. Pepper product w/ an attribute called Size whose options are 12oz can, 20oz bottle, etc. Right now you can only specify the upcharge for a certain product selection, but I have heard others asking about showing the actual price in the select box instead. Not sure where the code stands w/ that right now.
And I am never buying a 1.5L Dr. Pepper from you... unless $80 is for more than just one. 

Joined: 08/07/2007