Connect 16 outputs to as few pins as possible on a microcontroller
In common case if you want to get more pins than aviable on you MCU you need some kind of serialization. In the extreme case it will be an SPI. Also it may be a quad-SPI or (if you use some more latches) something like octal-SPI.
But if the interaction logic between pins is raise simple you can use a tiny FPGA/CPLD to reduce required outputs of the MCU.
Take a look at FPGA/CPLD like MAX-10 / MachXO2 (5$-10$) or MAX-V (&lt;2$).