#2 and #4 are extremely interesting (and #1 would seem to be a prerequesite). #3 ... I'm curious as to how you're implementing this.
#5 isn't really a function of the object model - there's nothing preventing an object type's implementor from providing a service contract method to dump the value in XML or create a new instance from XML input. This would be useful but isn't a core datamodel thang.
Let us know when you get your code packaged up so folks can look at it. This is the kind of thing we won't consider until our second development cycle, which (now that documentation's on a roll and the end of our first development cycle in sight) should kick off in a few weeks.