How big can a wallet get?
The bitcoinj private keys are 32 bytes long. You would also want some sort of indexing around them so that you could access them efficiently.

If you used a deterministic wallet you would only need one seed and a chain code per customer and generate the addresses as required. I think they are typically 32 or 64 bytes long.