I think before I attempt to make menu width adjust we need to figure out whether you can have buttons that will set focus to another control. Also need to figure out why menu disappears when you hover the mouse over.
the problem with the mouse is that when you move the mouse no item has focus, and that is the way the buttons are displayed (ie when item x has focus item x is visible) so if nothing has focus nothing is visible
the way i over came this was to create one big button with no label and make it the entire size of the skin, that way when the mouse move this button will have focus which means you can then display and item based on this button.
but you need to make sure that this button is at the top of you basichome.xml file otherwise when you move the mouse over an actual button the dummy button will still have focus
also i think but i havent tested it if you use <visible>Control.HasFocus(0)</visible> on the button this will be visible when no button has focus, like i said havent tested this properly but i think it works