I want to develop a client-server application that wil be running on Linux.
Can I install two VMs to emulate two Linux machines in windows 7?
Yes you can (provided that you have the needed RAM, CPU time, etc) along with a client that will support this (VMware works fine for this).
I don't see why not. If you get a small enough distribution, you can run tens or hundreds of virtual operating systems at once if need be. For best performance, be sure to install server distributions rather than desktop distributions. IE: Ubuntu Server edition runs on much less resources than Ubuntu Desktop edition. You can get Debian distributions that are tiny.
I'm a VirtualBox fan, so if you haven't already, check out VirtualBox. If you really want to squeeze out more performance and configurability , you might want to run each instance headlessly and connect to them over SSH.
Yes. Make sure when you do this to allow the two machines to reside on the same network. There are many ways to do this, depending on which VM host application you use for this.
The simplest way is most likely to allow both machines to use the same DHCP server, or give them addresses within the same subnet. The key is that you want the 'client' VM to be able to see the 'server' VM.
This is easy to set up. If you want to use VMWare player as mentioned in other answers you are best of using vmnetcfg. Unfortunately it's not installed by default any more.
To get to it, run the installer from the command line in Windows with: VMware-player-x.x.x-yyyyyy.exe /e .\internals
Then navigate to the internals folder, open network.cab and copy vmnetcfg.exe to your installation folder (e.g. C:\Program Files\VMware\VMware Player)
Then you can set the network options for VMWare, NAT etc.