since rh7 is using openssh now, rsh becomes obsoleted in most environments. But without rsh the p4 device of mpich (default at linux) won't work anymore. So I suggest to ./configure with '-rsh=ssh'.
The /usr/lib/mpich/{s,}bin dirs contain a lot of scripts having `rsh' hardly coded inside. These must be fixed manually.
I don't think this is a good idea... it adds connection overhead in what usually is a strictly controlled environment.
The additional overhead occurs only when the `master' starts its slaves on the other machines. The plain MPI-communications isn't affected by ssh; ssh serves only to start the slaves. This overhead is very low related to the time MPI programs are running usually, so I think it can be neglected. Additionally I don't know any system in my environment using rsh (rsh-server isn't installed even).
I think opting for least surprises is good... being able to choose your program would be good. Also, in many environments ssh won't be suitable as keys should have passphrases
Yes, choosing the program would be good. But mpich seems to compile the name statically into the libraries. mpich-1.2.1 is out but I had no time to check if it contains the possibility to choose the remote-shell dynamically. Passphrases aren't a problem with ssh. You can start ssh-agent which holds your identity and transfers it cryptographical safe to the sshd. Although this method is commonly used, install.ps.gz of the mpich package contains in chapter 4.6 a short description also.