It is entirely possible and we don't have to reinvent the wheel. But the only problem with DM is metadata. For that I think we can do something what damus is doing with their private Zaps.
Discussion
I think there have been some proposals for making metadata a little bit less of a data leak. Like sending a message to a whole group of pubkeys but only one has the private key that can decrypt, so a passive observer can't tell who the real recipient was.
If you're a client and want more anonymity you could even send DMs to random pubkeys as a bluff, although that could be considered spam
I should say privacy and not anonymity
These proposals are not bad but I think for messages we really need something very secure. That's going to be very essential for future activist and journalist here. It doesn't has to be on a protocol level we can build something secure on upper layer.