> As someone that writes HTML for a living I couldn't imagine using a WYSIWYG editor.
You can't imaging using any existing WYSIWYG editor. I would argue that using Firebug to make changes, see them in real time, and have the code auto-saved is just begging for a good WYSIWYG editor. Image if a WYSIWYG editor could create decent markup and css and provide perfect cross-browser support for all relatively modern browsers. You still couldn't imagine using it?
This still seems to focus too much on what WYSIWYG is now, as opposed to what it could be.
Problem 1 can be solved by designing your WYSIWYG editor UI around modular page components and templates, kind of like desktop software designers like QtCreator.
Problem 2 is a matter of designing a good visual diff tool for the DOM. You could combine the Tilt Firefox addon with other visual difference tools like A/B overlays and highlighting changed attributes (e.g. if the text color or border size is changed on a particular element between two versions being compared, set the text or border color or size of that element to some highly-contrasting or even animated value when the element is hovered in the diff view).