From Frederick, Gettysburg is about 45 minutes up Rt 15. You're going against commutes if you base yourself there.
Antietam is about 30 minutes west, then 15 minutes south down MD 65. Last time I did that drive was before the outlets were built. We used to go to the concert the MSO did every July 4th weekend, but not for a while.
Harper's Ferry is just over 40 minutes from Frederick, taking 15 South to 340 West. If the rainfall was good, the outfitters in the area will be able to rent you canoes.
You're in luck: the MARC made it up to Frederick about 3 years ago, so you can take a train right into DC. My preference is to ride down to Shady Grove and take the Metro. However, if you prefer to drive, take 270 to the Outer Loop to the GW parkway. It's a nice, scenic route in. Just wait until 9am.
Hotels? Lots of them. If you prefer a nicer place, the Hampton Inn is really nice, and there's a few newer hotels run by my former employer (Fairfield and Courtyard by Marriott). I suggest places on Buckeystown Pike (Rt 85), as there are a lot of good restaurants nearby.
Enjoy your trip!
Suzanne