Hi Richard,
To move your database you would have to create a database backup and then restore the backup on the hosted server. Typically this will cause the user on the hosted database to become orphaned so you would probably need to get the host to un-orphan the user after restoring the backup.
Some hosts may not support restoring a database, in that case the only option is to use 3rd party tools to script off the database and the data. For more info see the links on the bottom of this page:
http://www.mojoportal.com/mssqlsetup.aspx
You can move all sites and they will work if the url structure is the same, you may need to re-configure the host names if they are going to be different.
You cannot separate the sites since they are all in the same db, the data for those sites will go wherever the db goes. you could potentially restore them into separate hosts and then delete the other sites but it might not be a perfect solution. Best to not create them togather in the same installation if you don't intend to deploy them together.
http://www.mojoportal.com/moving-an-installation-of-mojoportal-to-a-different-server.aspx
mojoPortal is built on ASP.NET, and we have a lot of developer documentation and training videos about how to implement custom features that plug into mojoPortal.
Hope it helps,
Joe