+1 on the recommendation for the Canon 100mm f/2.8L Macro IS - it's great for macro and portraits (although getting on the long side for portraits on an APS-C camera).
Here are a few samples with the Canon 100mm L on a 7D. All of these were shot handheld.

EOS 7D, EF 100mm f/2.8
L Macro IS USM, 1/30 s, f/8, ISO 100

EOS 7D, EF 100mm f/2.8
L Macro IS USM, 1/150 s, f/13, ISO 100

EOS 7D, EF 100mm f/2.8
L Macro IS USM, 1/160 s, f/11, ISO 640