Good one Paul.

Completely different way, and saved 18 words.

And you're right. The multiplication uses a lot of code space.
So I thought I'd remove it from my last version too and see what happened.

268 words
Code:
<font color="#000000"><b>CMCON </b>= <font color="#800000"><b>7                </b></font><font color="#0000FF"><b><i>' Disable Comparators

</i></b></font><font color="#008000"><b>DEFINE </b></font><b>DEBUG_BAUD </b><font color="#800000"><b>2400   </b></font><font color="#0000FF"><b><i>'Debug baud rate 
</i></b></font><font color="#008000"><b>DEFINE </b></font><b>DEBUGIN_REG PORTB </b><font color="#0000FF"><b><i>'Debugin pin port 
</i></b></font><font color="#008000"><b>DEFINE </b></font><b>DEBUGIN_BIT </b><font color="#800000"><b>0     </b></font><font color="#0000FF"><b><i>'Debugin pin bit 
</i></b></font><font color="#008000"><b>DEFINE </b></font><b>DEBUGIN_MODE </b><font color="#800000"><b>1    </b></font><font color="#0000FF"><b><i>'Debugin mode: 0 = True, 1 = Inverted 

</i></b></font><b>Uin       </b><font color="#008000"><b>VAR BYTE
</b></font><b>B0        </b><font color="#008000"><b>VAR BYTE 
</b></font><b>BarCount  </b><font color="#008000"><b>VAR BYTE
</b></font><b>BarValue  </b><font color="#008000"><b>VAR WORD
</b></font><b>MsgAddr   </b><font color="#008000"><b>VAR WORD
</b></font><b>Carry     </b><font color="#008000"><b>VAR </b></font><b>STATUS</b>.<font color="#800000"><b>0        </b></font><font color="#0000FF"><b><i>; Hardware carry flag

</i></b></font><font color="#008000"><b>GOTO </b></font><b>Main                     </b><font color="#0000FF"><b><i>; Jump over data
;=============================================================================
 </i></b></font><b>BarSteps</b>:  <b>POKECODE   </b><font color="#800000"><b>22</b></font>,<font color="#800000"><b>33</b></font>,<font color="#800000"><b>41</b></font>,<font color="#800000"><b>51</b></font>,<font color="#800000"><b>62</b></font>,<font color="#800000"><b>72</b></font>,<font color="#800000"><b>91</b></font>,<font color="#800000"><b>111</b></font>,<font color="#800000"><b>130</b></font>,<font color="#800000"><b>151</b></font>,<font color="#800000"><b>169</b></font>,<font color="#800000"><b>180</b></font>,<font color="#800000"><b>190</b></font>,<font color="#800000"><b>200</b></font>,<font color="#800000"><b>209</b></font>,<font color="#800000"><b>219
</b></font><b>_BarSteps   </b><font color="#008000"><b>CON </b></font><b>EXT           </b><font color="#0000FF"><b><i>; create a PBP constant that points to the Table

 </i></b></font><b>TooLow</b>:  <b>POKECODE </b><font color="#800000"><b>$FE</b></font>,<font color="#800000"><b>1</b></font>,<font color="#FF0000">&quot;TOO LOW &quot;</font>,<font color="#800000"><b>0
</b></font><b>_TooLow   </b><font color="#008000"><b>CON </b></font><b>EXT             </b><font color="#0000FF"><b><i>; PBP constant pointing to the &quot;Too Low &quot; string
  
 </i></b></font><b>TooRich</b>: <b>POKECODE </b><font color="#800000"><b>$FE</b></font>,<font color="#800000"><b>$C0</b></font>,<font color="#FF0000">&quot;TOO RICH&quot;</font>,<font color="#800000"><b>0
</b></font><b>_TooRich  </b><font color="#008000"><b>CON </b></font><b>EXT             </b><font color="#0000FF"><b><i>; PBP constant pointing to the &quot;Too Rich&quot; string
  
</i></b></font><b>FlashSize </b><font color="#008000"><b>CON </b></font><b>EXT
</b><font color="#008000"><b>ASM
   </b></font><font color="#000080">ifdef BSR
FlashSize = 2                 </font><font color="#0000FF"><b><i>; 18F has byte addressing (2)
   </i></b></font><font color="#000080">else
FlashSize = 1                 </font><font color="#0000FF"><b><i>; 12F/16F has words (1)
   </i></b></font><font color="#000080">endif
</font><font color="#008000"><b>ENDASM

</b></font><b>MidChar   </b><font color="#008000"><b>CON </b></font><b>EXT             </b><font color="#0000FF"><b><i>; MidChar is the border between
</i></b></font><font color="#000080">@MidChar = 8 * FlashSize      </font><font color="#0000FF"><b><i>; 8 char segments of the 1x16 LCD being used

</i></b></font><b>CountLength  </b><font color="#008000"><b>CON </b></font><b>EXT
</b><font color="#000080">@CountLength = 15 * FlashSize

</font><font color="#0000FF"><b><i>;=============================================================================
</i></b></font><b>Main</b>:
    <font color="#008000"><b>DEBUGIN </b></font>[<b>Uin</b>]             <font color="#0000FF"><b><i>; Serial Input
    </i></b></font><font color="#008000"><b>LCDOUT </b></font><font color="#800000"><b>$FE</b></font>, <font color="#800000"><b>2             </b></font><font color="#0000FF"><b><i>; LCD Home Cursor

    </i></b></font><font color="#008000"><b>FOR </b></font><b>BarCount </b>= <font color="#800000"><b>0 </b></font><font color="#008000"><b>TO </b></font><b>CountLength </b><font color="#008000"><b>STEP </b></font><b>FlashSize
        </b><font color="#008000"><b>IF </b></font>(<b>BarCount </b>= <b>MidChar</b>) <font color="#008000"><b>THEN LCDOUT </b></font><font color="#800000"><b>$FE</b></font>,<font color="#800000"><b>$C0  </b></font><font color="#0000FF"><b><i>; Second half of 1x8 LCD
        </i></b></font><b>PEEKCODE </b>(<b>_BarSteps</b>+<b>BarCount</b>),<b>BarValue       </b><font color="#0000FF"><b><i>; Get BarValue from Table
        </i></b></font><b>R0</b>.<b>LowByte </b>= <b>Uin </b>- <b>BarValue
        </b><font color="#008000"><b>IF </b></font><b>Carry </b><font color="#008000"><b>THEN                                </b></font><font color="#0000FF"><b><i>; Uin &gt; BarValue
            </i></b></font><font color="#008000"><b>LCDOUT </b></font><font color="#800000"><b>255                               </b></font><font color="#0000FF"><b><i>;  show a Full char
        </i></b></font><font color="#008000"><b>ELSE                                         </b></font><font color="#0000FF"><b><i>; Uin &lt;= BarValue
            </i></b></font><font color="#008000"><b>LCDOUT </b></font><font color="#FF0000">&quot; &quot;                               </font><font color="#0000FF"><b><i>;  show a blank
        </i></b></font><font color="#008000"><b>ENDIF
    NEXT </b></font><b>BarCount
    
    R0</b>.<b>LowByte </b>= <b>Uin </b>- <font color="#800000"><b>22                            </b></font><font color="#0000FF"><b><i>; if Uin &lt; 22
    </i></b></font><font color="#008000"><b>IF </b></font>!<b>Carry </b><font color="#008000"><b>THEN </b></font><b>MsgAddr </b>= <b>_TooLow </b>: <font color="#008000"><b>GOSUB </b></font><b>ShowMsg

    R0</b>.<b>LowByte </b>= <b>Uin </b>+ <font color="#800000"><b>29                           </b></font><font color="#0000FF"><b><i>; if Uin &gt; 227
    </i></b></font><font color="#008000"><b>IF </b></font><b>Carry </b><font color="#008000"><b>THEN </b></font><b>MsgAddr </b>= <b>_TooRich </b>: <font color="#008000"><b>GOSUB </b></font><b>ShowMsg
</b><font color="#008000"><b>GOTO </b></font><b>Main

</b><font color="#0000FF"><b><i>;=============================================================================
</i></b></font><b>ShowMsg</b>:
    <b>PEEKCODE MsgAddr</b>, <b>B0
    </b><font color="#008000"><b>IF </b></font><b>B0 </b>= <font color="#800000"><b>0 </b></font><font color="#008000"><b>THEN RETURN
    LCDOUT </b></font><b>B0
    MsgAddr </b>= <b>MsgAddr </b>+ <b>FlashSize
    </b><font color="#008000"><b>GOTO </b></font><b>ShowMsg
</b><font color="#008000"><b>RETURN
</b></font>