Straight to each point:
1 - RadMenu subskins -- that's not really possible, or at least not in the way you may perceive it. In reality skins are just css class names that cascade certain appearance. That is to say, if you add custom class names to each sub menu then you could customize its look.
In addition, you may use a single menu for the menu bar and then context menus for the popups. That will effectively leave you with as many skins as there are menus.
2 - RadWindow position in the center - you can use the approach from this KB article
to recenter the popup with each browser resize. Instead of changing the size you can only call the center() method. Or first get the current bounds (see the getWindowBounds() method from the client-side API
of the control) and then use the moveTo() method to set a new position for the control. You can also try overriding its position to fixed but I cannot guarantee it will work properly and that it will not be reset on certain user interactions with the control.
Generally a popup is not a part of the layout of the page and thus it should not be affected by changes there.
3 - storing the RadWindow position - it can already be done by the RadWindowManager for the RadWindows in its Windows collection exactly through a cookie, by setting the PreserveClientState property to true. You can also consider this example for using the RadPersistenceFramework
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to the blog feed