What you want to do can get very complicated and may take multiple attempts to get right, but you're on the right track (no pun intended). Basically its a three-step process (four, including the final bouncing of clips to render the stretching):
1. Set the project timeline to match the audio of your reference track using Set Project From Clip as Karl described. You have to do this so that SONAR knows where the timing irregularities are that you want to eliminate.
2. Select all the clips, including the reference track, choose the Autostretch option from the dropdown to the right of Clip Follows Project, and then Enable that on all tracks.
3. Now you can alter or delete any or all of the tempos in the timeline and SONAR will stretch/compress all the clips equally to conform to the new tempos or to a single, initial tempo if that's what you want.
The level of precision you use in the first step will determine how tightly everything is "quantized". In theory, you could bounce the stretching, and then do additional quantizing of individual tracks at higher resolutions as appropriate, but I think you're likely to get bad artifacts from stretching more than once. As it is, you may not like the results you get. The less you mess with the tracks to get them where you want, the better. A lot depends on the nature of the content. Also, once all your tempo changes are done, it's important to select each clip individually and Bounce to Clip(s) to render the stretching permanent using the most appropriate "Offline" algorithm in the Audiosnap Palette for that clip's content.
All that said, here's the bottom line: It's going to be a ton of work, and I don't think you're going to like what you get. It were me, I'd stop after step 1. That will give you a grid that you can use to add or replace sounds while maintaining the original ebb and flow of tempo. And if an individual part has wonky timing, you can quantize specific parts of specific tracks to tighten them up against other parts without changing the overall tempo variation.
EDIT: Oops. Stepped away form a half-finished post for a bit, and see you've come up with an alternate strategy in the mean time.