Fred. Olsen's "Balmoral" on its 2009 world cruise has sectors which terminate at Vancouver. You can then make your own arrangements to cross Canada and return home. Speak to the company about costs of the basic voyage.
The only way you can get to western Canada i.e Vancouver, is through the Panama canal and I dont know of any cruise line doing that. You could cruise to New York and then by rail to Toronto and the by rail across Canada but most of Canada is boring flat prairie until you get to the Rockies. The simplest way is to fly to Calgary (9 hours)then take the Rocky Mountaineer to Vancouver or vice versa and you can link that to an Alaskan cruise out of Vancouver.