Programmable Priority Encoder
Wikipedia article for Priority Encoders is nice and simple.
In Priority encoders, We have 4 Input Channels, 1 Enable Input and 2 outputs - Considering a 4 to 2 Priority Encoder. Here, 0th channel is at Lowest priority. If 0th and 2nd Channel is High, Output will be 2 and will completely ignore 0th Channel.

To avoid this, Programmable Priority Encoders (PPE) are used. In PPE, we can specify which input should have lowest priority. Generally PPE has additional inputs to specify Lowest Priority (LOWP). Number of lines for LOWP are same as Output Lines.

In case of 4 to 2 Programmable Priority Encoder - 4 Input channels, 2 LOWP lines (Input), 1 Enable Input and 2 Output lines.

If you set LOWP lines as b010 - 2nd input channel will have lowest priority (Instead of 0th in normal Priority Encoder).
Priority order will change to (From lowest to Highest) 2nd,3rd,0th,1st
If 3rd and 1st Input channel is enabled, output will be b01 instead b11