Yes, this can be done.
In the open source community, it has been done for years. In most situations, they just prefixed the tables.
I am not aware of a tool to simplify the process.
You are aware that you introduce new challenges.
- Queries are more complicated and may lose some performance.
An alternative approach is to move to multi-tenant design. Add a new field to all tables. Let's call it ClientId. Add filtered indexes. Now all queries need to be filtered on ClientId. You still need to deal with any auto increment columns.