It shouldn't matter even if all addresses come from the same bitcoind instance.
For the customers, they are not granted administrative access (i.e., private key) to the actual bitcoin wallet anyway.
In such systems, the server only needs to keep track of the assignment of addresses to different users, and the incoming and outgoing transactions of them (for deducing the users' balances). These can all be done using the database.