design/implement a secure DNS-like "map string to bitcoin address" system (so I can send bitcoins to "gavin@acm.org")
This might be nice but I don't see it as a prerequisite for 1.0.I suppose if we figure out how to make click-to-pay work for both the "I'm using an online wallet service" and the "I'm using the client" cases, then users won't have to know how to copy&paste addresses and human-type-able addresses won't be critical.
RE: DoS resistance: please DO keep thinking about it; I'm not a networking expert (in fact, if you know any networking experts, see if you can get them thinking about it....).