Further to the angle of revision-control and undo being tightly integrated, there's some interesting stuff happening in "e for Windows" which started partly as a way to get a TextMate-compatible editor on Windows. It's wxWidgets-based so theoretically cross-platform although the author has said he won't do a Mac version out of respect for the TextMate author.
http://e-texteditor.com/blog/2006/making-undo-usableI don't think his user interface is actually suitable for your goals but may help with the use cases.
Another interesting, albeit old, paper is
http://www.ifi.uib.no/konf/nwper98/papers/persson.pson combining revision control with editing.
I suspect there is a lot of similarity between the chunking of textual lines of code into classes and methods and the natural chunking into paragraphs and tables of your editing environment.
In both cases, whilst merging, splitting and reordering of chunks may take place, edits within them are usefully treated as bounded by the chunk. Hence, discussions of programming-oriented editors for OO languages become relevant ;-)