RadContextMenu is not added to the visual tree because it doesn't need to. In Silverlight 2 we had to do it because of bug in the framework. Also there is a chance that AttachPopupToVisualTree method won't succeed.
We do not expose public method to iterate through popups so there is no way to detect the visual elements in some coordinates.
SubMenuItems use popup because it is natural - you want the newly opened submenu to be on top of the other elements - including Windows.
We may consider adding such method in future release.
the Telerik team