I suppose it's too late to change your flight to go to Seattle instead of Portland? Bellingham would be even better. It's about a 40-mile ride from Bellingham down to Anacortes. If you want to skip going to Anacortes itself, it's only 25 miles from the Bellingham airport down to join the Northern Tier in Bay View along the beautiful Chuckanut Drive.
There are many ways to cut miles, but IMHO one you should not cut is Going To the Sun Road in Glacier National Park. Do not take the Marias Pass alternate or you will miss the absolute best part of the whole route!!!
You can cut out 35 hilly miles by staying on 89 from St Mary, MT to Cardston, AB and 40 more by skipping Alberta entirely and heading straight for Cut Bank from St Mary. You can save some miles by staying on I-94 across North Dakota, but I recommend against it unless you really like interstate riding. You can cut off 125 miles in Minnesota by taking the Little Falls Alternate (and a few more by taking the Donn Olson modifications to the Little Falls Alternate). You can save 215 miles by taking the ferry across Lake Michigan (assuming you're taking the North Lakes route), but you'll lose the better part of a day on the ferry itself. There are lots of places where you can save 10 miles here or 10 miles there (particularly in Ontario if you're taking the Lake Erie Connector), at the expense of busier roads and missing some charming back roads. You can cut off another 150 miles by finishing in Portland, Maine rather than going to Bar Harbor. I don't recommend any of these shortcuts, but if you need to cut time, then compromises need to be made.
Spend an hour to take the $20 ride on the Maid of the Mist when you're at Niagara Falls. It's worth it. And camp along the Erie Canal across New York--the towns are charming and the hospitality is great.