Hi Schoesler,
Base on your description, you want to hid the sitemap nodes base on the role, right/
From the code that you provioded, we can see you set the roles for the each sitemap node, if you want to implement to hide the sitempanode base on the role, you need to set the securityTrimmingEnabled is true in the web.config file's sitemap section.
For example: <siteMap defaultProvider="secureProvider">
<providers>
<add name="secureProvider" type="System.Web.XmlSiteMapProvider"
siteMapFile="web.sitemap" securityTrimmingEnabled="true"/>
</providers>
The more you can read this article : http://blogs.msdn.com/dannychen/archive/2006/03/16/553005.aspx
Hope it helps.
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Yours sincerely,
Amanda Wang
Microsoft Online Community Support