Are the domains actually hosted with MDDhosting?
We are a hosting provider - if you don't need hosting then you wouldn't need a hosting product so I'm not sure I follow your question.
Can I easily change (or have changed) A-name records - to point to a portfolio hosted with another service (such as viewbook) for example?
You can if you wish cPanel -> Advanced DNS Zone Editor with your hosting account.
How easy is it to upgrade later to semi-dedicate/VPS/dedicated servers? Are there any charges to upgrade?
Only the difference in price. Going from shared to semi-dedicated or VPS would require a server transfer as the hardware for each service is distinct.
Is there a specific reason that the storage space is the same for shared and semi-dedicated servers (5, 10, and 15 GB)?
The difference between shared and semi-dedicated isn't the quantity or speed of the storage, but the number of accounts placed on the server and how much CPU is available to each account.
Beyond that - if you need more than 15gb of space - you're probably needing media storage and not storage for a web site. The average site uses only 100~200 megabytes of data - many of them much less than this. If you really do need more than 15 GB I'd probably suggest looking at a decent VPS or a lower end dedicated server if not a content delivery network or storage similar to Amazon S3. Last I looked I believe roughly 99% of our customers are on the 'basic' level plans.
I have 4 domains that I would like to transfer along with signing up for a host package. What is the best way to determine which of the domains I should use as the "main" domain?
The determination is up to you - you're the webmaster and it's up to you to figure out which you want to be main, secondary, etc. With more information about your 4 sites we could possibly give more/better advice but ultimately at the end of the day it's a decision for you to make.