I did an example of the wired-or configuration here:http://www.gammon.com.au/forum/?id=11091
It includes wiring and a sample sketch that handles the interrupts.
There would be a potential for an interrupt to be missed if two came in quick succession. The interrupt service routine in my example reads all the pins, so if they came together it would detect them. But if one arrived during the interrupt it might miss it. You could minimize that likelihood by keeping the ISR very short (for example, read all the pins in a single "port read" rather than using digitalRead). So if the ISR basically had a single instruction, to read the port, and then exit, you are reducing the time for missing the extra interrupt to a few microseconds.
There would be other ways, maybe a port-expander chip. They can generate interrupts. For example I looked at one here:http://www.gammon.com.au/forum/?id=10945
That can handle 16 inputs and generate one or two interrupts. But you potentially still have problems if the ports change in very quick succession.
Another approach would be to use a Mega, or have two Atmega328s working together. There will always be some sort of solution, and whatever you choose will eventually not cope, depending on the data rate. But it may well work acceptably well.