Nathan Gardner , Jan 03, 2010; 01:20 a.m.
100mm f/2.8 L IS macro or 65mm 1x-5x macro
You didn't mention budget. For cheaper, I'd say:
EF 100mm f/2.8 macro
EF-S 60mm f/2.8 macro
EF 50mm f/2.5 macro
The 100mm seems to be the macro of choice of the 3 above.
The 60mm is said to be great, but it's EF-S and won't work on full frame if you plan on making the leap soon. This one is a good portrait length and a lot of people double it as a portrait lens.
The 50mm is the cheapest of the 3 and takes beautiful photos, but has a slow AF and is only .5x lifesize magnifacation, which is still good especially on a crop sensor. This is the only one I have experience with, and while I love it, I would love to have the 100mm version, but I have other priorities.