We use the standard client in our business. The wallet already contains about 25k addresses. Will the wallet remain stable after the number reaches 100k or a million addresses? I was told that all major business have forked the client. Should we also fork and code our own wallet?
I've ran tests before on .5 million addresses generated in one afternoon. It fired walletnotify within the milliseconds, no noticeable delay when I sent an amount to a random address. Only noticeable thing was that the client took 30 minutes to start up, which I guess is fine if you run a larger service. Only thing that may trouble you is slow transaction creation time, but someone on here advised me to just move the funds into a new address monthly.
Regular BitcoinQT client is not suited to run a huge amount of addresses/transactions. The database easly goes to the roof in a month with IO operations, if you do, let's say, 1 transaction per minute. Please consider reading blockchain directly, or use external service, which will handle the overhead for you, ie. Blockchain.info
I tested this by programatically adding 1 million addresses to the QT client via the JSON-RPC interface from a Java program. Rescanning was turned off so all it did was add the addresses and not confirm the balances. It took around 24 hrs to add 1 million addresses and then it took another 4 hrs or so to restart the client and scan the 1 million addresses. I was using a MacBook Air so not very powerful hardware. Still, given the amount of time it took to do the rescan I would not recommend using the QT client with that many addresses in a production setting. Good luck.
It all comes down to historical data. Do you retrieve historical data by querying the blockchain or do you rely on your own transactional data in a local DB? If you do the latter and you are concerned about the stability of your overloaded wallet you can always switch to a brand new, clean wallet with only the preloaded 100 addresses and be confident that up to the 25K point everything will be smooth and running.