Como configurar um SiteMap em páginas que estão utilizando o URLRewriting, vou descrever uma das formas que você pode utilizar em sua solução?
 
Primeiramente, para quem não conhece o URLRewriting nada mais é que reescrever as url de forma mais amigavel (em resumo) ocultado ou alterando alguns detalhes, para saber mais sobre URLRewriting no asp.net consulte -> http://msdn.microsoft.com/en-us/library/ms972974.aspx.
 
Veja um cenário abaixo:
 

Olá, usei o UrlRewritingNet para converter as Urls de uma aplicação web, agora ao invés de www.site.com/pagina/pagina.aspx?Id=7&SubApp=8 endreço fica: www.site.com/pagina7/detalhe8.aspx

O problema é que é no sitemap, imaginei algo como por exemplo:  mas não funciona. Como devo fazer ?

 
A solução que utilizo é customizar o SiteMapPath acrescentando um e um no modelo, preenchendo suas propriedades de URL e Texto dinamicamente. Veja no exemplo abaixo, repare que estou usando o Eval(), dentro deste você pode fazer chamadas a métodos internos e pegar os valores como desejar (usando reflection, constantes, etc).
 
Exemplo:
 


<Asp:SiteMapPath ID = "CustomSiteMapPath" runat = "server">
<NodeTemplate>
<Asp: HyperLink ID="hypLink" runat="server" Text ='<%# Eval("titulo")%>' NavigateUrl ='<%# Eval("url")%>'/>
</NodeTemplate>
<CurrentNodeTemplate>
<Asp:Literal ID ="litCurrentNode" runat ="server" Text =' <%# Eval("titulo")%>'/>
</CurrentNodeTemplate>
</Asp: SiteMapPath>

 
Espero que isso seja util;...
 
PS: Esta e outras dicas podem ser encontradas no meu blog -> http://nelsonborgesjr.spaces.live.com/blog/
 
 
 
 
Abraço,