I'm sorry I didn't answer your question sooner, but I somehow failed to notice it. You've already given the solution yourself: a list of people sorted by day WITHOUT the year. If you create another field in your database, e.g. YEAR, you can seperate the years from the months and days. If your dates have been entered consistently, you can use Batch Edit to do this for you in a few seconds. The "month and day" field should be in that order: first the month, then the day. If not, use Batch Edit again to change this.
A simple sort on month and day will create your birthday calendar. You could use the seperate YEAR field to print something like "Born in: xxxx", so that people can hoist a flag when someone reaches 50 or any other memorable age.