Welcome to FlyerTalk, Travel_Queen!
I am finding that airfare to Seattle is reasonable but another 4-5 hr drive is not what we want to do to get to Vancouver.
I'm seeing pretty reasonable airfares going IAD-YYZ/YUL-YVR on Air Canada ($250 one way during the summer). That might be a better option if routing DCA-SEA-YVR on Alaska/Horizon or IAD-SEA-YVR on United/Air Canada Shuttle doesn't work.
The only problem is coming BACK... Alaska doesn't fly to IAD (they fly to DCA), and United doesn't fly to ANC. You'd either be going SEA-ANC-DCA at around $500, or be going something like ANC-PHX-IAD on US Airways (and the oneways were pretty hideous, like $900, plus it's US- you'd get nickeled and dimed for luggage, water on the plane and so on).
Would originating at IAD and then coming back to DCA be a problem for you?
And also... yes, if you buy through the cruise line, THEY become responsible for getting you there (and if they can't, they refund cruise money). If you do it on your own, you may save money, but I would heartily recommend building a day or two of slack time on the Vancouver end to help make sure your ship doesn't sail without you, because the cruise line won't owe you a dime if something goes wrong with your travel arrangements (which isn't a bad idea, because Vancouver is a LOVELY city to be a tourist during cruise season).