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">"TOO LOW "</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 "Too Low " 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">"TOO RICH"</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 "Too Rich" 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 > 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 <= BarValue
</i></b></font><font color="#008000"><b>LCDOUT </b></font><font color="#FF0000">" " </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 < 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 > 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>
Bookmarks