I live in Calgary, it's an awesome city but unless you're going to be here in the week of the Stampede, then given your time constraints I'd recommend staying in Canmore too. It's only an hour west of here, extremely scenic and around 20 minutes from Banff.
Lake Louise and Moraine Lake are pretty much permanently rammed at the moment. The Moraine Lake car park is filling up by 6.30am most days, and then they close the road in and it's one in one out if you're lucky. There's a shuttle from an overflow car park a km or so down the highway - use this! Even that is filling up early though - from tomorrow they're adding extra services starting at 6am.
Yamnuska wolfdog sanctuary is a cool place to visit, it's between Calgary and Canmore.
Have breakfast at Tooloulou's in Banff, a drink/food at the Waldhaus pub on the patio and an ice cream from Cow's!
You probably know this but just going on the order of the itinerary you typed above, Revelstoke is between Calgary and Kamloops/the Okanagan, not between Whistler and Vancouver. From east-west it goes Calgary - Canmore - Banff - Revelstoke - Okanagan - Whistler - Vancouver. To go Calgary - Whistler - Revvy you'd be driving (a long way!) back on yourself. Keep the distances here in mind, it's a truly huge country; we drove from Calgary to the Okanagan last weekend and it was 8 hours each way. You can spend entire days getting from one place to another.
You'll need a park pass, they're valid for all the National Parks in Canada. You can buy it as you drive into Banff NP a few km on from Canmore, you can't miss the booths, they're in the middle of the road. The pass is mandatory if you're going to stop in any of the National Parks, so if you're going into Banff town, up to Lake Louise etc. you have to pay. We pay $136 for an annual pass but you can get short-term passes - it's about $20/day.
If you do decide to stay in Calgary or want any more info I'd be happy to help!