Marriott (on field) is going to be expensive.
There's the Dulles Holiday Inn, Hampton and Marriott Town Suites that are right there on Route 28 (Sully Road). They have free transport (you can take either the Holiday or Hampton busses and they will drop you at the other hotel. Dirty little secret - all three properties are owned by the same management company!)
Still may be pricey but you will probably get the best rate out of the Hampton - tell them you are crew when reserving.
The cheapest hotel (I believe) is the Leesburg Holiday Inn which also has a bus but its a good twenty minute ride each way to the airport.
On that Route 28, there are a bunch of hotels: Homewood Suites, Microtel, etc. I don't know if they run busses or not!