There is a nice, new HGI on Richmond Road. I have seen $69 weekend rates there. It is a basic HGI--nothing fancy, but gets the job done. I stayed at the Homewood Suites on ByPass Road while in town for a wedding last year. It was far too expensive for the price. The ES is fine. There are also three Hamptons in Willaimsburg. The nicest is the HI & Suites on Richmond Road.
Anytime after X-Mas, you should be able to get a room. This time of year, though, they are quite dear.
Hope this helps.