A couple of toll-avoidance routes from the DC area:
1. Westbound. Use I-66 to I-81; go north on I-81 10 miles to Exit 310; VA 37 (this is a sort of Beltway around Winchester). Turn left onto 37 and go 5 miles or so to US 522. Turn left onto 522 and go about 10 miles to VA 127; turn left onto 127, which crosses into West Virginia; then turn right onto WV 29 to Paw Paw, WV; cross the Potomac River there (free bridge), highway becomes MD 51; go 26 miles to Cumberland, and enter I-68 westbound (roughly MM 43) there.
30 miles west on I-68 is the exit to westbound US 40 at Keyser’s Ridge. You can get off there, and go on 40 a total of 50 miles to PA 43 (which is a toll road, I think the total toll is $3) to I-70, and then head west on 70.
You can stay on I-68 for a total of 75 miles from Cumberland to I-79 north. I-70 at Washington, PA is 45 miles north of there.
2. Northbound from DC going toward New York City:
The toll between south of Baltimore to southern New Jersey is $14 ($4 at either Baltimore tunnel; $6 at the Susquehanna River; and $4 at the Delaware line). The toll at the Chesapeake Bay Bridge eastbound is $4. Leaving DC, instead of the Baltimore-Washington Parkway, stay on US 50, go past Annapolis, and cross the Bay Bridge. 10 miles east of the bridge, go on US 301 toward Wilmington. North of Middletown, DE, turn right onto DE 896 and go 4 miles to US 13. Go about two miles north on 13, and then at a signal turn left onto DE 1, missing the toll barrier to cross the cable-stayed Summit Bridge, and then follow DE 1 to I-95.
If you start from further south from DC (such as North Carolina), work your way over to I-81, stay on I-81 to I-78 about 25 miles NE of Harrisburg, PA, and stay on I-78 into northern New Jersey.
The cheapest crossing of the Hudson River going toward New England is the I-84 bridge between Newburgh and Beacon, NY. To access this bridge, stay on I-81 until I-84 at Scranton, PA.