[eluser]Dam1an[/eluser]
For the stylesheet per client
If you're going to have a large number of clients, you really don't wants to have hundreds (or thousands) of CSS files, if the main difference is stuff like colours, you could have a base stylesheet, and then just a string stored in the database with the override styles., or, you could store the whole CSS in the database.
You could also render the stylesheet on the fly using PHP
As for the database per client
You could have a main database (accessible via $this->db) which has all the users database settings, you can then create another database connection (and assign it to something like $this->client_db)