It’s very difficult to enforce and even a bit tricky to precisely define where the line is. Players that are committed to this sort of meta-game cheating could always claim to have made certain decisions based on some factors, when they are actually motivated by others. It’s impossible to prevent or monitor communication over external channels as well. Ultimately, it comes down to the players following an honor code.
Note that even though the game allows deception and dishonestly in the interactions between the players, the players should remain honest when dealing with the game master/implementation. At the end of the day, it is just a game, with nothing really at stake, so hopefully people commit to following a general honor code of fair play (which is often summed up as “don’t lie to the game master”), even though the game may inherently involve duplicity and betrayal between the players.
A lot of diplomacy servers offer the option for anonymous games for this very reason. On WebDiplomacy, a lot of the serious tournament games are anonymous. On Bounced, all games are anonymous, and players have the option of not revealing their identities even after the game.
This is probably the easiest work around to achieve some level of anonymity, although, as you mention, there are still risks that some might recognize the particularly pedantic speaking styles of others.
However, we also have to be careful about players that have multiple accounts on the forums. The game master should always clearly establish who is actually involved in each game and make sure that one person is not controlling two or more positions in a game via dummy accounts.
If players are determined to cheat, it’s impossible to reliably uncover all of their side channels, which may even exist off of the forums.
I like the idea of making all chat available for the spectators. However, the biggest issue is probably keeping things organized, and checking that everyone that signs up for a game is okay with revealing their chat logs. If the solution involves making all PMs threads public (after the game), then we might even need new forums categories just to help organize them all. Revealing everything to the spectators during the game does carry some potential risk of a spectator (perhaps even inadvertently) spoiling something to the players.