Some great design thoughts here! Unfortunately, none of this is really going to be possible without changes to cht-core code. I agree that it could be possible to follow a similar pattern from death/muting. One big decision to make would be how this should work offline (or if it should work at all). If we want to be able to flag duplicates while the user is offline, then a Sentinel transition cannot be involved. I would encourage having these more in-depth design discussions over on the GitHub issue: Prevent and/or merge duplicate contacts · Issue #6363 · medic/cht-core · GitHub Hopefully we can start to coalesce on an agreed upon design approach (particularly if there is interest in raising a PR!).
Also, unfortunately at this time I do not think it is possible to launch a contact form from a task. I have seen it done where the task launches an ephemeral app form that simply provides the user with a link to go edit the contact.