Far be it from me to offer advice when we have an Adobe Evangelist around 
BUT
Yes, iPhoto can do what you are asking for, and could be automated if you wrote an Applescript for it...
Exporting a group of images:
Select the images you want from the library
OR
Move the images you want to process into a folder, then select that folder in the folder browser
Select File>Export
In the export dialog, change the popup menu to JPG (it will default to Original, meaning that a .psd file remains a .psd, etc etc)
Specify the dimensions you want. It is smart enough to know that a horizontal aspect ratio image should remain horizontal, so if you specify max 400x600 and the image is horizontal, it will actually be resized to 600x400.
Click export, it will prompt you for a location to save the files
And away you go. :freak:
Personally, I have made actions to resize down from 25Mb plus files to about 5 different pixel size jpgs, with varying jpg quality and some unsharp masking on the way. I then converted these to droplets from Photoshop 7, as others have suggested.
The iPhoto export works fine with a large number of smaller files, or a small number of large files (the aforementioned 25Mb scans), but does get a little slow and flaky with a large number of large files. For these the Photoshop droplets are much more robust.