This is actually a special case of a general concept: specifying how much you trust particular addresses. Instawallet has just coined 'green address' as a nickname for an address that you will accept payments from instantly (0 confirmation), but what do you call an address for which you would prefer to see 1 or 2 confirmations (~10 or 20 minutes, respectively)?
If Bitcoin UIs allowed you to specify how much you trusted particular sending addresses (in terms of confirmation numbers), things like green addresses would fall out naturally. Also, providing these trust numbers is a great usecase for a web-of-trust system.
Not particularly... an attacker with a rack of GPU filled machines will only find a valid block every 10 days or so, and blocks are valid for around 10 minutes on average: this is a relatively narrow window for double spending, and not an opportunity to waste on a small transaction.
There are other attacks that rely on the receiver being fenced off from the wider network, but those are even harder to coordinate.
If Bitcoin UIs allowed you to specify how much you trusted particular sending addresses (in terms of confirmation numbers), things like green addresses would fall out naturally. Also, providing these trust numbers is a great usecase for a web-of-trust system.