Qualify your tables. Include an identifier field and then you can reference the relevant table through variables, or you can use a data island or a link table. So - it is possible but how you implement is up to you.
I would pose the wider question though, if you can't mix up the client data why are trying to store them all in one qvw?
You should look into section access. Search this forum, there are plenty of examples given. Keep all the data in one table and include an identifier, this identifier is then used to only show the data each user has access to while hiding everything else.
In this approach you are not 'mixing' data, simply storing it centrally - which is exactly the same thing you would be doing by saving it in one QVW anyway.
Just one clarification needed, my point of "mixing data" means "storing all companies data in one QVW" which I dont want. At any stage I shouldn't have all companies data in one place, and can I use One QVW for this scenario?