Can I direct audio from a single app to a particular output? For example, I would like for iTunes to play thru my iMac's speakers, but iChat's notifications thru my headphones.
If the software you're using doesn't support specifying an an audio output, you'll have to rely on a third-party utility. Someone else already mentioned Ambrosia's WireTap products, but there is one other I'm aware of: Audio Hijack by Rogue Amoeba. At $32, it beats the pants off WireTap for price.
Update for 2020  …
Audio Hijack is current, but now $70.
A simpler yet still effective solution targeted towards this very use-case by the same company is now SoundSource &amp; is about half the price.
[Prices [&amp; tax] vary by territory]
There's also a piece of software called SoundSiphon by Static Z Software that provides the same functionality as Soundflower, plus single-application audio capture. Priced at $29.
*Update for 2020 …
Soundflower no longer includes Soundflowerbed, which was the component allowing this type of routing.
Unfortunately, there are no free utilities for this. Not even Soundflower can capture audio from individual pieces of software. I think Rogue Amoeba's relies on the same underlying magic that allows them to hijack audio from individual pieces of software for their AirPlay utility AirFoil (which allows you to route any application's audio to any AirPlay device, as well as any device running their AirFoil Speakers app).