Merge should be based on all phone's and emails not on a primary phone or email. As it won't work correctly.
DND should be based on a per phone basis for the phone channel
DND should be based on a per phone basis for the SMS channel
DND should be based on a per email basis for the email channel
That's the solution then you can properly build out the merge contact feature. And then it can automatically be done by GHL on the backend which is ultimately the solution everyone would prefer...As now if it needs to be turned on for a specific phone for the call channel or a specific phone number for the SMS or a specific email for the Email channel they can manually do so in the contact section still but not for the entire contact. This way we can build out a stop all SMS for the entire contact A2P wise, a stop all for phone calls and a unsubscribe all for all emails.