He'll probably need more than four partitions. Linux likes to have at least two (/ and swap) but three (additional /boot) or four (/home) would be even better. Luckily you can put all of them to extended partitions leaving you with three primary partitions for other OS'es.
Unfortunately I have no idea what partitions OSX needs. If it needs >1 and cannot use extended partitions you are pretty much screwed with only one HDD, unless Vista is able to work on extended partition. I know that XP couldn't.