BirthdayCal is a freeware desktop application that creates iCal entries for the birthdays of your Address Book contacts. It supports iCal alarms, recurrences, and all-day events. BirthdayCal gives you the option of creating a new calendar or selecting an existing one to receive the birthday events. If you want to get fancy, you can play with the other options:
If you’d like to divide the events among several calendars, or if you only want to create events for some contacts, use this option to select the contacts you want. If you’d like to be notified about upcoming birthdays, use this option to set display, email, and sound alarms. iCal users will find the interface very familiar.
By default BirthdayCal creates a description for each event like “Birthday: John Smith.” You have the option of changing the string used before the name or of using a suffix instead, such as “John Smith?s Birthday.”
– Mac OS X 10.1 or later
More info and download link here.