The port-default to port-098 is easy because in each case 100 is added to each port number. This works great for the first 10 servers, but as you noticed causes problems for the 10th and higher servers. What I suggest is for port-10 use port-default adding 50 to each port. Then port-11 would be port-10 + 100 for each port. Provided that nobody else is using those ports, you should then be good up to port-19.
But the bottom line is that all you really need to do is find unused ports. You can use the netstat utility (or tcpview, if using Windows) to find out what ports are in use.
Also, with that many app servers running, you really should have multiple NICs (I recommend a minimum of 1 NIC for every 2 app servers). Each NIC can have its own IP address, thus binding app servers to IP addresses would avoid the port conflicts all together.
Finally, with that many CPUs, you are using process affinity to assign app servers to CPUs, right?