I have a similar situation where I store xml in the NOD of entities for xml class objects (i.e. classes that serialise to/from xml) and I read and write to them when things change without any performance issues at all.
If you are reading/writing the NOD data to and from your dialog now maybe that's enough as you will only be inserting an 'adapter' in between to serialise between them, nothing gained except some decoupling.
Having said that, xml classes can be written in/out to file as templates etc and you have the added bonus of validation.
If you want to go the xml route MS has a tool called XSD
http://msdn.microsoft.com/en-us/library/x6c1kb0s(v=vs.110).aspxI use LiquidXML which leverages this and will build the classes and source code for you from your schema and you can't write invalid data without explicitly setting it to allow it.
Its also an xml and schema editor but it is a bit pricey at ~$700+ but it saves a lot of work. For what you want the XSD tools may be enough.
I have around 70 xml classes to deal with and the schema will be updated by the consortium at some stage so the purchase for me was an easy decision.