This is actually one of the scenarios that 0.9 (edge, unreleased) is trying to address with anchors that can embed external instances. It's an underdocumented feature at the moment, but basically, you create your overarching instance with two anchors
<div id="root">
<div id="left-nav"><#leftNav /></div>
<div id="content"><#content /></div>
</div>
Of course, the menu doesn't have any need to be an anchor, as you probably won't be swapping it out entirely as you would the content. If the content component comes with a chunk of menu, you could add a submenu anchor in the menu component and have the content component populate it as part of its lifecycle. If a route is a sub-route, you can push the new content onto the anchor list, and it will displace its parent until you detach it, which will put the parent back:
ractive.attachChild(main, { target: 'content' });
// routing to a sub-component of main
ractive.attachChild(sub, { target: 'content', prepend: true });
// done with sub route, going back to main
ractive.detachChild(sub);
If you can't reasonably use edge, you can get a similar setup with dynamic partials in 0.8, where instead of replacing the menu entirely on routing, you just change the dynamic content and update the relevant submenu partial.