That doesn't sound like multiple sites at all. It sounds like one site with different sections for different clients.
One way to do it is to define a role corresponding to each client, then create a top level page corresponding to each client and set the view roles/edit roles on the page as needed to correspond to the client. You can then create as many pages as are needed beneath each client's top node so that basically you have a sub tree for each client. Once you set the roles on the top level page by default any new pages created beneath it will inherit the same roles.
If clients are only in the role corresponding to them then they will not see or have access to other client pages, though the admin user will see all the pages clients will only see the ones for their role.
Hope it helps,