Hi,
Instead of using master pages, maybe you can create one default page and then place an updatepanel and a placeholder.
Like this:
<asp:updatepanel runat="server" xmlns:asp="#unknown">
<contenttemplate>
<asp:placeholder runat="server" id="placeHolder1" />
</contenttemplate>
</asp:updatepanel>
And then create each page represented in the menu as a Web user controls and inject it when the menu item is clicked.
placeHolder1.Controls.Add(new MyWebUserControls());
Make sure the updatepanel update mode is correct and the menu triggers an async operation which will update the updatepanel with the new web user control.. :-)
Regards
Joachim