Most of what you’re requesting can already be achieved on the /my/preferences/users
page.
If someone doesn’t want people to be able to send the DMs, they can:
Disable the allow other users to send personal messages and chat direct messages
setting or create an allow list by enabling only allow specific users to send me personal messages or chat direct messages
FWIW, that page has other useful options so it is a good idea to direct your community to the users tab on their profile to personalize it per their preference.