Hello! I actually live in Williamsburg and have done just about everything there is to do in this area. If you have any questions, I'd be happy to answer them!
What time of year will you be here? If it's between May and Labor Day weekend, definitely look into getting Busch Gardens/Water Country/Colonial Williamsburg combo passes. Don't forget that Jamestown and Yorktown are here, too, so you'll probably want to make time for those.
There are plenty of chain restaurants in town that are fairly reasonable - all the normal fast food, Applebee's, Chili's, Ruby Tuesday, IHOP, etc. There are also some local places that are excellent and won't cost you an arm and a leg. There are several pizza/Italian restaurants called Sal's (or some variation of that) that are really good. There are also a few places in in the Colonial area that are worth checking out (Blue Talon Bistro, Aroma's and The Cheese Shop). Google "Williamsburg Area Restaurants," and the first link is a dining guide you may find useful.
As for places to stay, that depends on what you are looking for. There are plenty of hotels and motels - there's a Sleep Inn that I've actually had to stay at before, and it was nice.
In reply to someone else's question, Washington D.C. is about 2.5 hours away.