Hi,
All of your questions come down to one question: mapping an XML attribute to a menu item property. For example, to dynamically set left icon, you can map a "LeftIcon" XML attribute to MenuItem.LeftIcon.Url. That way whatever LeftIcon you specified in your XML attribute will automatically goes into MenuItem.LeftIcon.Url, which gives you the left icon you specified.
This topic explained how to map them. Check 'Using Data Binding object" section:
http://www.essentialobjects.com/ViewDoc.aspx?t=MenuCommon%2fDataBinding%2fpopulate_datasource.htmlThe document is based on XmlDataSource. But it should also work with XmlFile property, with which you directly set a file name.
You may also want to go over the whole Data Binding chapter in the help file to know more about data binding. A whole lot of samples are available in our sample project for data binding.
Thanks