I am surprised noone mentioned that you can charge by weight for items ordered. This can be done in the shipping modules by adding a price based on an items weight. you can customize this however you'd like. The only thing I am not sure of if you can modify the charges by size and weight.
I am sure that a little playing (changing) with code in the modules>shipping directory you can modify code to provide the functionality your looking for. Given the existing template someone could create this for you at a low cost if you are unable to do so yourself.
I have built a few stores usign the ZC program and given the customization available and knowing/learning what the code does makes for some fun for those that hack the code beyond what the admin area allows. Clients happily pay for the customizations that they want for the store. And given that the main template is free, it costs a significantly less amount of money and time to do the mods for design and layout changes.
I really like this program and have "stripped" alot from it manually, testing on a server before using it for any live sites. I can attest that this is a great software with unlimited possibilities. The only thing that was a problem for me was the amount of duplication within the directories. An example to this is the stylesheet.css that was in the templates>classic>css and templates>template default>css folders. Combining both of these files made modifying appearance much easier and less of a headache. Unless I missed something there was no need to have 2 different .css files.
Another functionality that is available is the admin access rights mod. You can control the access a client gets to the site. I use this for interns to add products to my site. This will enable you to allow clients access to add products quickly and easily without alot of headaches of creating pages, putting cart buttons and linking the pages. You can simply add the product.
Doesn't hurt to install ZC somewhere and play with the functionality, design, and modifications some.