I'm not aware of anything truly analagous to SSH key-based authentication for Windows. But here are a couple ideas:
From here, I find that if you first connect to the ipc$ share of the remote host, then run psexec, that psexec will automatically run in the context of the ipc$ connection.
So in your batch file:
net use \\myserver\IPC$ /user:MyID MyPassword
psexec \\myserver c:\whatever.cmd
That will stop your username/password from being sent over the network in cleartext. However, it does leave your username/password visible inside your batch file.
One way to get around that is to write an executable program whose only function is to run "net use \[commandline argument]\IPC$ /user:MyID MyPassword". (Personally I'd use something like autoit to write the .exe.) Let's say we name it "nu.exe". Then your secret username/password is at least embedded inside of "nu.exe" and thus is not in cleartext. While it's probably possible to reverse engineer via decompiling it, it's at least obfuscated somewhat.
Then your process is:
nu.exe myserver
psexec \\myserver c:\whatever.cmd
But then you need to keep nu.exe in a safe place, because anyone who had access to it could execute programs on remote hosts as whatever ID you've embedded into nu.exe.
So both options have drawbacks, but perhaps one of them will work for you...