I have started few weeks ago a GUIML system that use xml to describe your gui, just like you want to do. The benefit to the approach I took was that once you create a gui button it will live until you delete it, which is not how gui is working as is and how playmaker is working with gui as is.
Your problem would be solved elegantly because you can reference xml nodes, which means chuncks of gui, not just an element. Working with gui becomes very similar to how gameOnbjects are working, they persits and behaves more like we expect them to.
The really cool thing, on top of that, is that I can bind any property of the gui to Fsm variables and events, all within xml definition!! and I have a series of actions to control the gui elements, for example create a button, delete a button, show/hide element, etc etc.
<layoutButton text="click me!" >
<fsmEvent name="ADD NEW BUTTON" >
<eventTarget broadcast="true" ignoreSelf="true" />
<eventData string="Remove me" int="5" bool="true" />
that xml would display a gui button with text "click me!" and fire a global event "ADD NEW BUTTON" with event data set to various variables
I have made it so flexible that you can actually declare your own elements, I have for example created drop down elements and breadcrumbs elements.
It's unfortunatly still in very early stage, so pm me to get access to the current alpha version if you are interested.
So all that to say, that unfortunatly, you will likely need to use scripts to start doing anything serious with unity gui system.