here's a recent thread on frederick restaurants
frederick is about a 22 mile dr from sharpsburg
from the thread and closer than frederick in boonsboro which is closer, though maybe too formal for you is the old south mtn inn rec'd on the link
a thread on the shepardstown/harpers ferry area right near sharpsburg
On Rte 34 in Keedysville, between Boonsboro and Sharpsburg, is the Red Byrd Restaurant. I highly recommend it for reasonably priced Amish style food. I've had the fried chicken, smothered pork chops, and other dishes. All have been well prepared and tasty if a bit bland for my taste (I ask them for hot sauce).
In Sharpsburg is Cap'n Bender's. It's an old bar and is a nice place to hang out. I've only been there for beer (Yuengling for a good price) but they serve food.
Although this is beyond your request, the Mennonite Bakery in Sharpsburg is great. The best donuts I've eaten, plus pepperoni rolls, pies, whoopie pies, cheese bread, etc. They close at noon on Saturdays and are not open on Sunday.
Agreed on the Red Byrd - try the "honey dipped fried chicken," I've enjoyed it. Solid diner-style food just a few miles from Antietam Battlefield, but skip the pies, they're nothing to write home about.
Don't forget that Hagerstown, MD, is nearby and it offers a very wide range of dining options including the Schmankerl Stube, a highly recommended German restaurant (haven't been there yet).