Well, this is a matter of opinions without much details, but as far as I know:
C2 downloads every graphic assets on start, thus the initial loading time may be big, however it will only happen once since the entire game is cached (currently with offline.appcache, the way may change in the future), multiple projects is not something I would recommand but is doable technically with a browser go to URL, but then you have the same issue with each level when you wait for it to load (except that you can use a loader layout so it looks like a simple loading screen, which it is in that case.).
External files can be requested on demand with the ajax object, I did in the past had levels being just text files being interpreted (it was my own system for recreating the level from the text files), I downloaded them on demand when needed during the game itself.
Audio however can be set to not be downloaded and loaded at the start, so you just request manually the sounds.