For accommodations, look at the tripadvisor listings under Oaxaca hotels, and under Oaxaca Inns & B & Bs. That's what they are there for, and you will find many more objective reviews than you can possibly find on this forum. Christmas is one of the three or four busiest times of the year for tourism in Oaxaca, so my suggestion would be to book as soon as you can. Of course accommodations are always available, but there is no point in waiting until the last minute when your selection will be more limited, if you know your travel dates now. Definitively be here for Noche de Rábanos the 23rd, and the 24th for the final posadas through the zócalo for a couple of hours Xmas eve. New Years is really no big deal if you'd rather be on the coast at that time. There are lots of interesting things to do and see in the city of Oaxaca such as museums, colonial architecture, Dominican churches, fine dining, great street food, cooking classes, folkloric performances, markets, shops, people watching, etc, etc, etc. And of course there are the village routes for ruins, crafts, ecotourism, etc, etc, etc. There are complete books written about tourism in Oaxaca (city and state), and a plethora of articles on the internet (about 280 of which are mine). Enjoy.
Alvin Starkman - Casa Machaya Oaxaca Bed & Breakfast