If your birthday friend is in Ann Arbor, tell them about the list of deals you can get on your birthday in Ann Arbor kept on Arborwiki. There's good eating to be had at a discount, breakfast lunch dinner and dessert.
Two weeks ahead of time, get notified by Plaxo by email. That gives you enough time to update the email and postal address and send a postcard. (Note: the "everyone gets a postcard" bit is something I aspire to; still haven't figured out all of the infrastructure yet, though I have a postcard project to track what I can.)
If that person Plaxo reminds you about isn't in your calendar yet, update the Google Calendar (or your favorite calendar system) to add a repeating annual event. Include on the notes page any relevant details there might be, including a location (so you get a map) etc.
Also update the Mac's Address Book with the birthday; properly synced this will bounce back to Plaxo. You'll need Address Book to be up to date when your correspondent is not on any other systems, perhaps because they were newly born or are not in the email world or otherwise not in various social network systems. There's tools to automate notifications and messaging out of Address Book, but I don't use any of them (yet? some good ideas including using Growl for notifies).
Nearing the day of the birthday, you'll start to see notifies on Facebook. The UI that's particularly good at this is Facebook Mobile, which puts birthdays on the front page and properly hyperlinks them. This means that on the bus ride into town you can work your way through today's birthday greetings.
Completely idiosyncratically I run a personal Socialtext wiki with pages of the form [2008 December 08] where I store a daily diary, calendar, todo list, and some amount of history past present and future. This sometimes includes birthdays and sometimes not; it's much harder to sync with the other structured data, though that's not entirely bad news.