[eluser]sean_THR[/eluser]
I recently did exactly what you are describing and when I get around to it I will be writing up a detailed blog on how I did it.
I can give you a quick rundown that will hopefully get you on the right track.
I'm running on CI2, but I don't see any reason that this won't work with 1.7. My first step was to override the _ci_load function from CI's core Loader.php using MY_Loader.php. There's a line where the view path is set and you can easily change that to whatever you need.
As far as running on separate DBs, I accomplished that by creating a master DB with details for all of my other site DBs. In MY_Controller.php's constructor, I connect to the master DB to pull the appropriate DB information and then load in the site specific database. There may be a better way to do this, but it worked for me.