A number of AppleScripts are floating around online for removing duplicate entries from Address Book and iCal, such as this one by John Maisey. Sometimes, however, individual fields within a contact or event can be duplicated, in which case these scripts aren't any help.
I recently had this problem due to a combination of bugs in The Missing Sync 5.0 for Palm OS (which is otherwise an excellent piece of software) and Tiger's Sync Services. A large portion of my Address Book contacts ended up with duplicated emails, and my iCal calendars had duplicate alarms.
I was able to eliminate these duplicate fields by writing some AppleScript. Even though most Mac users don't sync with other devices, I suspect someone might still find these scripts useful, so I've posted them on my site. Even if they don't meet your exact needs, they can serve other purposes. For instance, the Remove Duplicate Emails script can easily be modified to remove duplicate phone numbers instead.
[robg adds: I have also mirrored these scripts [16KB download] here on macosxhints.com, just to make sure they're available in the future.]
Mac OS X Hints
http://hints.macworld.com/article.php?story=20051217000214536