Multiple complete different start installations

Hello everyone!

I'm starting a Multi Site platform and I would like to give my customers the ability to choose many different options and the moment when they are registering in the service and choosing the name of their blog.

I would like the customer to choose what kind of site he chooses based on the template and type of template he liks (it's only one choice because the template will be connected to all the other options).

I would like to start a setup a completly different blog basing on the customers choice with different content, plugins and settings.

For example:
a) e-Commerce option: The customer gets a Shopp friendly theme with Shopp plugin activated and content that will help him setup shipping / payment pages
b) Realestate option: The customer gets Custompress with fields designed for realestate site
c) Standard Page: The customer gets simple page with Business template

I would like to be able to configure all of these so here are my questions:
a) What plugin should I use to do it
b) How can I design a graphic interface that will be shown during the registration form? What files should I edit.

Thanks in advance for any help!