There should be a way to text chat directly to a player, even if you aren't allied. That would allow for backdoor deals between non-allies to screw over allies. Would really add in some crazy backstabs.
Why not just pop open the UberBar at the bottom right, choose Recently Played tab and Invite to chat?
That's not overly intuitive and slightly roundabout. Pull up the social bar. Pull up recently played with. Find the player, invite to chat. Then the player has to accept the chat, and then you talk to the player. Not the smoothest UX. Hmm... It'd be really nice to do it with hotkeys somehow. Or maybe by right clicking on a player's name in game. Also, the social features are very buggy in my experience. I know that's a temporary thing, but they almost always lag behind by minutes, and rarely accurately show if someone is online. In my experience at least.
Here was the stated problem, "There should be a way to text chat directly to a player, even if you aren't allied." I believe I gave a solution to that. However, I understand sometimes we make things and our community comes up with awesome better ways to do things. Perhaps you'd like to make a mod that allows you to one click a chat icon by a player's name and trigger the invite to chat directly.
Just because there is a solution to a problem doesn't mean it's the best solution to a problem. And just because there is currently a solution to a problem doesn't mean we should try and come up with better solutions to the problem. The current method, while handy, is far from an ideal user interface.
I'm gonna have to agree with Brian on this. The method you gave is indeed a solution, but it's cumbersome. I don't want to click around menus in the middle of a game just to chat with someone. That takes too much of my attention away from the game. It would be nice to be able to just press Enter and Tab through to the player you want to privately chat with.