With today's technology, with governments and their agencies with nearly unlimited funds, could they not generate every address and key. store this in a distributed database (however many nodes) and search for whatever key they need. Surely with AWS, Azure, GoogleCloud companies could have the money to run the required infrastructure. or is the number of keys so large that even with 1 million servers with database nodes this could not be done?
I think another respond to the main question would be
superfluous, but I'd like to remain on the incentive of that procedure. Besides that the whole system of Bitcoin relies on that specific impossibility, it also relies on something else! Mining!
Someone who would try to steal others' money, or simply gain burned coins, should consider that extending the chain with his/her super-duper computer will be more profitable AND more ethical. Specifically, he/she could simply mine every-single-block.
If he/she wanted to destroy Bitcoin, he/she wouldn't have to brute force an address. A person with that much power could simply solve empty blocks with the majority of the computational power of the network.
Whether if he/she behaves ethically or unethically, he/she will be much more powerful if he/she goes straight forward on mining, rather than searching on a hash collision.