Hosting multiple site requires the site to be installed as a root level site, localhost is an example of a root level url but of course not what you use on a real site.
Basically to host multiple sites by host name, you need a fixed ip address and dns records that map whatever host name or domains to that ip address. Many shared hosts can give you a fixed ip address and can manage the dns records for you and some offer a dedicated fixed ip address which means it is only used for your sites and you could manage the dns records from any dns service. For example, I purchase my domains through Yahoo Domains and I use the Yahoo DNS servers and can manage my DNS records from the yahoo domains management pages.
I don't recommend 1and1 at all except for dedicated servers. I've never heard good things about their shared hosting. DiscountASP is ok and I'm sure you can get a dedicated ip address for a few extra bucks from them. If you want a host that really knows mojoPortal, I recommend i7MEDIA which is operated by Joe Davis, our mojoPortal community manager.
Hope it helps,