Если входящие и сходящие сигналы требуют только логических уровней, можно сколхозить схему мультиплексоров/демультиплексоров(шифратор/дешифратор)(двоично-десятичный преобразователь (и наоборот)). Они просто каскадируются, 3мя портами можно адресовать 255 входов и 255 выходов, 4мя — независимо читать/писать. Но уж очень громоздкая схема выйдет.(они обычно на 16 входов/выходов)
Можно уменьшить количество занятых ног используя счетчики или сдвиговые регистры, для формирования адреса/получения/установки данных, можно в 1 порт уложиться, но это бесконечный подсчет, такты, брррр.