I'm not sure what the "Rick Steves train travel planner" is, but the best way to get train schedules and routes for all of Europe is to use the Deutsche Bahn site, following Rick's tutorial: http://www.ricksteves.com/travel-tips/transportation/trains/online-schedules (the link for the Bahn website is in the first sentence on that page).
This website will only have prices for trains that start or end in Germany. So, for Zuerich to Zermatt and Zermatt to Stresa, use Swiss Rail: https://www.sbb.ch/ticketshop/b2c/sprache.do?en. Be aware that the price initially shown is for those with a Half Fare card; if you won't have one, you need to double it. And spell "Zuerich" just like that ("Zurich" gets the airport, not the main station).
For Stresa to Riomaggiore and Riomaggiore to Milan, use Trenitalia: http://www.trenitalia.com/cms/v/index.jsp?vgnextoid=4ddd1a035296f310VgnVCM1000005817f90aRCRD
Yes, regional train tickets should ALWAYS be validated before you get on the train, or you risk a heavy fine.
A quick way to see if a route has a discount for advance purchase is to check prices for tomorrow and compare them with prices for your travel dates. If they are the same, you can wait to purchase until you get there. If there's a substantial difference and you don't mind the higher prices, you can also wait (particularly if you don't want to be locked in to a specific train). But if there's a substantial difference and you don't mind non-refundable and non-exchangeable tickets (or tickets with severe limitations on those actions), buy as soon as you can.