Instead of a weblog for clients, just hold them in a new ‘Clients’ member group, and only allow that group access to the template. You could also use robin’s Download Lock module tied in with the downloads weblog to ensure that only members in that group can download the files.
To restrict entries to individual members, you could ensure that the client group is in the multi-author list for that weblog, and set the intended recipient as the author, then on template use the {logged_in_member_id} variable inside the author_id=”” weblog entries parameter.
This will mean that it will ONLY show entries that the client has faux-authored, but there is nothing stopping you from adding an additional weblog entries tag with an author_id=”” parameter that is set to your clients superadmin account, that way generic downloads can be handled also.
Edit: You could even, instead of using your clients superadmin member id in this second tag, create a fake member in the clients member group called something like ‘Generic Client Download’ or something to that effect, this might be slightly easier to understand from your clients point-of-view.