Does this mean that records dated January 1st, 2012 and others dated January 1st, 2011 would sort into the same group?
Define two calculation fields:
cMonthNumber as: Month(YourDateField)
cDay as Day (YourDateField)
Be sure that number is selected as the return type for both calculation fields.
Then sort your records first by cMonthNumber, then by cDay
Actually one date calc should do nicely: Date ( month ( theDate) ; day ( theDate ) ; 1 ) ) This will normalize all your data so you can search for ranges as well similar to: 6/1...9/30