Hiya tom,
Actually this could all be done using CC software with a little extra work. The extra work of course could save you hundreds of dollars in the end so it's all in how much you can/want to spend and how much work you can/are willing to do.
Here's what I forsee as possibilities:
1. The separate areas for customers (per wedding etc) is an easy thing to do. You can actually create separate little shops for each of them quite simply, and then use Website Access Manager to assign each wedding an ID & PW for their area. This gives them not only the ability to keep it private, but also the ability to purchase privately too.
2. You could use something similar to Lightbox2 (see my Home page of my shop for an example of what it does for a tiny little personal gallery). This is sizable in any size you want to use. This would be something "outside" of any shopping cart system, and it's not purchasable from the Lightbox gallery, just viewable and gives you that extra size feature you need. It also allows you to add text to the photos so you can number them if you have a numbering system for the purchases so they can match them up etc.
3. I haven't tried this feature of the Form Builder, but I do know it works. You can setup a form for each of your shops right on a page of the Shopping Cart Creator system or on an external page. This form could be setup for your uploads from your customers or from coworkers or whatever your upload needs are.
With Shopping Cart Creator the sky is the limit when it comes to number of shops so you can create as many as you like. The Pro version will be even better when it's released.
You wouldn't even need the common page for each one, you could just copy that page for each shop or you can just create it all right in the SCC. Your skills will be the judge of how much or how little you can do with the SCC system and external pages, but I can say this is all quite possible.
Good luck no matter how you decide to do it and hollar if you need any other assistance setting this up if you choose to go this way