If they are using the same provider you simply decare the two data source controls but give them different IDs; you then bind the appropriate menu control to the specific data source control.
<asp:SiteMapDataSource ID="ds1" runat="server" ... />
<asp:SiteMapDataSource ID="ds2" runat="server" ... />
<asp:Menu id="m1" runat="server" DataSourceId="ds1" ... />
<asp:Menu id="m2" runat="server" DataSourceId="ds2" ... />
The problem comes with the SiteMapPath, which doesn't use a data source, but goes directly to the provider. In this case you'd need to declare the provider twice in web.config, just giving it a separate name. Then each SiteMapDataSource can set the SiteMapProvider property:
<asp:SiteMapDataSource ID="ds1" runat="server" SiteMapProvider="SqlProvider1"... />
<asp:SiteMapDataSource ID="ds2" runat="server" SiteMapProvider="SqlProvider2" ... />
You can also set the SiteMapProvider property on the SiteMapPath so that the path is from the correct provider.