I am designing a project that has around 50 or so outputs and around 20 or so inputs. I have designed a chainable breakout board for a standard '595 shift register for the outputs, and was planning on using a '165 or similar for the inputs. Because of board costs, I would love it if I could use the same breakout for both input and output. I could just set up one chain to be input and another chain to be output, but I would only need to have one type of board made. '595 and '165 do not seem to be compatible with that goal.
Is there any shift register that can operate as either PISO or SIPO depending on how you drive it. I would prefer something that I could read and write with SPI at a high speed at 3.3V logic and supply.