Merging duplicated nodes, and their fields
I have never heard of such functionality.

The first idea that comes to mind: Ctools has contexts for both Node view and Node edit. One could use such contexts to display two nodes side by side on a page, in either view or edit mode. With some custom form logic for picking, "left", "right" etc, on top; one could get very far in this.

Ctools also provides other niceties such as an object cache and a modal framework that could potentially be useful for developing this.