Specifically, I am trying to figure out the optimal number of processes to scale my MP2 calculation, while still having enough RAM available per process.
The distributed memory MP2 algorithm in GAMESS prints out a very nice table showing memory requirements per rank and for distributed arrays on a compute node basis. Check the GAMESS manual for the EXETYP=CHECK option in the $SYSTEM control group.
Once you know how much memory you need, a systematic set of single point energy or gradient calculations on your system at increasing core counts is the only way to know for sure the optimal number of processes for your specific problem. This is highly dependent on the cluster or super computer you have access to, for example network type, CPU core clock rate, memory per node, etc etc.