Screen has a built-in limit of 40 windows. When I first exceeded that, I just recompiled it with a limit of 100. But just recently I hit that limit as well. I considered bumping it to 200, but that's just getting out of hand.
Instead I split my servers into two groups and created separate screen sessions. To keep track of which is which, I named the screen sessions. This is much better than remembering which PID associates to which session.
First, name the screen session before you start it up. This would start a session named "myname".
bash$ screen -S myname
When you're ready to reconnect, specify the name.
bash$ screen -r myname
Yup, it's really that simple.