My favorites in DC proper:
-Spy Museum ($--operation spy is awesome though)
Home | International Spy Museum
-American History Museum (free)
-DC Improv (for evening fun)
Welcome to the DC IMPROV
-Going to the top of the Washington Monument ($1.50 to reserve tickets ahead of time--highly suggested).
Washington Monument National Monument (U.S. National Park Service)
-Kayaking in Georgetown on the Potomac if the weather is nice (This will require a car, there is no metro to Georgetown)
Jack's Boathouse - Washington, DC
Just outside DC:
-Old Town Alexandria (restaurants, walking around, dinner cruises, etc). Probably not worth visiting on it's own, but if you go to Mount Vernon, I'd totally eat here before/after.
-Mount Vernon (This is AWESOME. It could easily zap up 5+ hours if you wanted to wander and see everything. It's in Alexandria, about 10-15 miles south of DC, but totally worth it. They have a lot of the old buildings recreated or restored to walk through)
Best restaurants in the NoVA area, hands down, are the Great American Restaurant Co. They're all at least 20 minutes from downtown though.
Great American Restaurants
If you want places in DC proper, check out
Restaurants and Restaurant Reservations | OpenTable You can make reservations there ahead of time, view menus, etc.
Sadly, I find the zoo pretty bleh. The animal enclosures are all tiny, the animals always look bored, and it's not all that big. (Bring your walking shoes though, it's HILLY!)
Realistically, if you're only coming for the weekend, you could spend your entire time on the National Mall (take the metro to L'Enfant or Smithsonian) and just walk around. If you go into all the free museums and go to all the monuments, that could easily take your whole time. There's not really any food in the area though, so I'd walk or metro over to Gallery Place/China town/Penn Quarter and find food there. Matchbox is awesome, as is Jaleo (sangria!) and Oyamel.
If you have specific questions, let me know. I'm heading out of the country tomorrow night, but I'll answer anything until then!