I have some windows command line applications, in binary form (I do not have the source code) which I use frequently. Sometimes I need to run them in Linux machines, and it works perfectly under wine (wine is not an emulator). The problem I'm facing now is that I need to work on a cluster which has not wine installed on it. I wonder if it is possible to create in another similar linux machine kind of a static executable or so, so i can run this windows program on the cluster
This is an insane idea ;) Install wine on that cluster. What stops you? If you can execute programs there....
If this is some kind of serious software, it don't recommend to run it on non-native OS. Wine is not developed for running critical applications. It is still not Windows.
You can't compile a static exe; Windows is too complex for that. But you might be able to compile Wine to run on your cluster.
What you need is a way to compile code on the cluster. Wine itself can be installed anywhere but since I don't know if you have all the dependencies on the cluster, it might take some work.
So I suggest to get the Wine sources, run
configure --prefix=$HOME/wine && make and then work through the errors.
--prefix is the path under which Wine will be installed; it should be some path that is the same on the cluster and your build host. If all else fails,
ln is your friend).
I've just spent a couple minutes looking for a reference to the knowledge in my head but it my googling isn't up to it.
Picasa for linux is bundled with Wine, so it may be possible but I couldn't find the article I read a couple months back.
Other than this, you can cross compile with gcc and winelib but as Cyper rightly said, no code no compilation.