Assuming he uses Outlook or Outlook Express (possibly other clients too but i haven't tested) and syncs from that to his iPhone using iTunes, he can use the Yahoo Intellisync plugin to then sync with Yahoo Mail/Calendar.
Log on to yahoo webmail and click on Calendar, click on Sync in the top right, Click on Install Now and follow the instructions.
After he's installed it, he may need to go into the advanced settings to tweak his setup - by default the wizard only seems to sync with Outlook Express, there's a LOT more options in the advanced settings.
My setup is a bit more convoluted because I do it all OTA. I have an Exchange account set up that pushes my mail/contacts/calendar. I then installed Yahoo Autosync on my work pc so that whenever I make changes to either Yahoo or Exchange, it updates everywhere instantly. Oh, and it's also on my PC at home. Who needs mobileme?! 😀