As far as i know, you cannot merge account, but you can replace every reference to the duplicated users with the "correct" user.
We had a lot of problem with duplicate contact due to samAccountname modification.
To prevent having additionnal duplicate, we created a script that synchronizes contacts (also building departement location and company).
Then we ran some queries to find duplicate users.
With the list of duplicated users, you can run sql queries to replace the user in every table you want to.
We did : activity, chg, chg wf, request, incident, problem, issues, issue wf.
Do not forget that data manipulation at a DB level is not supported by CA. (You can always use pdm_extract/load or WS)
This is not a solution but it might helps you decide wich way you want to go.