If you're thinking about going up to Seattle or down to Eugene, we do have an Amtrak station at Union Station, in Oldtown. It's adorable.
You'll want to take a Cascades train rather than one of the long distance trains (like the Coast Starlight) as those are invariably late. It has to do with Amtrak not owning the rails they use.
There are three Cascades trains a day going North and South and the trip to Seattle takes about 3.5 hours, and a oneway fare is $30-$34. To Eugene, we're looking at 2.5 hours, and a oneway fare of $20-$33.
You'll want to get tickets as soon as possible if you're going north, as those trains are frequently packed. Trains south to Eugene, however, tend to be fairly lightly traveled.
And, if you're bringing your bike, you can make a reservation to hang it on the bike rack. Otherwise, you'll need to box and check your bike.
Getting to Vancouver BC is possible but not as cushy as it involves a change from train to bus once you get to Seattle, or staying overnight in Seattle.
There is a discount for seniors, students and AAA members, and also frequently a discount via POVA (if the discount is available, there'll be a link from travelportland.com/visitors/transportation.html)
Robert Plamondon has an excellent page on the Amtrak Cascades experience with all sorts of tips and useful information.
Info about Union Station (it's so cute I want to pinch its little cheeks)