You are expecting a bit much with 8 + 8 + 8 requirements.
The simplest way to orgainse this is .asm
It's the only way you are going to fix a problem if one arises.
Already, everyone is telling you complex ways to tackle the problem.
What makes you say this is too much? To check 8 inputs and adjust 8 outputs in 1mS is trivial, doing it in 10mS is an absolute doddle.
BTW, I didn't understand what the third 8 was.
Mike.