You are correct in guessing that the built-in ASP.NET XmlSiteMapProvider will not work with .sitemap files stored in a SharePoint content database. I would suggest subclassing XmlSiteMapProvider and override how BuildSiteMap handles the given siteMapFile path to get the map data from SharePoint instead. To get you started, the source for the built-in provider is available here:  ProviderToolkitSamples.msi.
                  dahlbyk
                   2009-08-31 23:17:51