Arduino Mega Pins for SoftwareSerial (vs. AltSoftSerial)
From what I've read it appears that SoftwareSerial will not support simultaneous reads from different inputs


Correct. You can only listen() on one instance at a time.

AltSoftSerial can only support 1 instance, but allows simultaneous transmit and receive, and doesn't block the whole system while either transmitting or receiving.

So the best you can hope for is 4 hardware UART and one AltSoftSerial for 5 ports.

I would suggest looking into the possibility of using multiple Arduino Mega boards with 4 ports on each (4 boards would give 16 ports in total) and have them communicate with each other through some other protocol (SPI or I2C for instance).