Ok, I had to try the priority encoder circuit also. It's shown below with a CD4532 encoder and a CD4042 4-bit latch. There shouldn't be a race problem with the latch since the GS output delay is less than the decoded output delay (and the latch latches on the falling edge of the clock [GS] input).
I show five push-buttons but it can be expanded to eight. To go to sixteen you need to use the circuit shown in Figure 15 of the CD4532 data sheet for a 16-input encoder. So take your pick.