You really only have 2 choices here: Filter at the control or filter at the provider
If you filter at the control you should implement the ItemDataBound or NodeDataBound event handlers for TreeView/Menu and remove those nodes as appropriate. If you need a SiteMapPath to filter this way as well (which it doesn't sound like you do) you would need to handle this in a SiteMapResolve handler.
If you filter at the provider you need to create a custom provider and remove this node in code that overrides IsAccessibleToUser().
What you SHOULD NOT do under any circumstance is remove the node from the provider. That will corrupt the datastore for other users accessible the information.
--
Danny
disclaimer: Information provided is 'as is' and conveys no warranties or guarantees.