One thought I had for trying to use a
reduced-pin-count MCU-based numeric
display was a 7447-type chip on 4-bits of an I/O port, and a 74145-type
BSD decoder on the other half of the port - up to 10 digits easily, or 9
with simple blanking (write 0 to the '145 and don't hang a digit off of it).
Most BCD-10 line decoders (I forget if the '145 is like this, but I think
it is) assert no outputs for inputs >9. So you could ahng 10 digits off a
'145 and simply write 1111 or whatever to that port for blanking.
Just checking now, it looks like the CD4511 won't render any digits if you
give it an input over "9" (the 7447 has incomplete decoding internally, so
will light various odd segments if you don't stick to 0-9). With a CD4511,
But I think '1111' blanks the digit for a '47
-tony