I've found at https://en.bitcoin.it/wiki/Technical_background_of_Bitcoin_addresses how an address is calculated.
To generate a specific address that already has bitcoins I need to calculate at average 2^160 keys.
At http://www.bitcointrading.com/forum/bitcoin-software/vanitygen-vanity-bitcoin-address-generator-%28v0-17%29/ how quick addresses can be generated.
The fastest graphics card for this has a rate of 23.5 Mkeys/second.
So lets round the generating speed to the nearest 2^x speed, we get 2^24 keys/second.
On average we need 2^160 / 2^24 = 2^136 seconds, or more understandeble human language, more time than the universe exists.
If I want to be able to crack an address in less than a day, for example a little over 18 hours (to get a nice 2^x seconds), I have 2^16 seconds to do it so I need to be 2^136 / 2^16 = 2^120 times faster than with the current hardware.
If I take into account that at the moment hardware still get 2 times faster each 1.5 yeah, I need to wait 180 years for hardware capable of breaking a bitcoins address within one day.
So technically it is not (yet) possible to do this kind of thing.
My actual question
What if someone or something is able to do this kind of calculations, and thus can spent every coin mined today, or is just very very very lucky and finds someone elses keys without hacking into other computers.
Will it be legal to spend the coins?
This topic comes every once in a while.
If someone can calculate key collisions quickly, then he can also calculate SHA256() quickly (or cryptographically break it), as this hash function is used to calculate Bitcoin addresses. But if he can calculate SHA256() quickly, he can also mine quickly, as mining is based on SHA256().
Therefore, what do you think is more profitable: running a GPU for "more time than the universe exists" to perhaps collide with a single address, or running it to mine and earn Bitcoins every day?
Obviously, address collision is computationally a non-issue.