DeltaXML was something I looked at as well when I had a need for something similar.
As you know, XML diff and merge are more complicated than plain-text diff and merge because we have to deal with semantic equivalence as well as syntactic equivalence.
I found the following links useful:
The Developerworks article has a link to the IBM Alphaworks diff and merge tools. Alphaworks licensing is not quite open source (not free) if I am not mistaken.
I started to write my own tool, but then the need disappeared all of sudden, so the tool did not get past preliminary stage.
Hope that helps. Please post what you find out or come up as a solution.