Maybe the first question should be, can access even MAKE this kind of "report"??
Does access allow you to create essentially a "letter" where it will automatically fill in the blanks of peoples' names and so forth? If it CAN, them we'll chat about the rest.
I've used Lotus Approach a few times, and I know it has a built-in function for creating envelopes where I can just click the button and boom, the current record's address is pasted on an envelope. So Access may have similar forms.
Lastly, the query to find such records is not terribly difficult. As you should be able to check just day and month of a date without worrying about the year. The VBScript should have such functions. But we'll worry about it later.
So then, NOT worrying about your query, can Access do the rest of what you need?