The middle digit of the sub-model identification indicates type and clock speed of the installed CPU, except for the early PS/2 systems (all models 25, 30, 50, 50Z, 60, 70, P70, P75, and 80) where it has a different meaning.
List compiled by David Beem.
Note: We are making a few assumptions here (marked as "Theory"), to see if it can be fully pinned down...
Possible missing encodings: POD63/POD83, IBM 486DLC2, 486SL.
IBM even had little stickers included with the CPU daughtercards to put over the sub-model label.
What about zero?
Another late night thought is the Intel 486DX3-75 and classic Pentium 100MHz CPUs not on any factory PS/2 configuration. I believe IBM attempted to cover every Intel and IBM CPU from the 386SX to classic Pentium at all offered clock speeds. IBM was anal enough to have a separate encoding of whether the same IBM 486SLC2 CPU daughtercard was running at 40MHz (from an 8556/8557 planar host) or 50Mhz (from a 9556/9557 planar host or 9533/9553 planar) internally.
I also thought about checking the CPU encoding for the PS/2 N45 ("PS/2 Note") sub-models since it uses the Intel 486SL-25 CPU (there is also an Intel 486SL-33)...