you could look at nbit math or use a pic18 and long vars

you can glean a bit more precision breaking the calc up a bit

where 43200 counts would give 4709.2

Code:
 
frac = enc_counter.lowbyte * 1090         
posn1  = div32 100          ;mm*100          ;mv 2790
posn2 = (enc_counter.highbyte&15) * 2791  ; mm*100   mv 41865
frac = (enc_counter.highbyte>>4) * 44657
posn3 =  div32 100                       ;mm     mv6698

posn3=  posn3 + (posn1+posn2)/100       ;mm
frac=   ((posn1+posn2)//100 +5)/10        ;round it up
serout2 PORTa.0,84, [13,10,#enc_counter,9,dec posn3,".",#frac       ]