Thanks Henrik,
Yes thats a bit better, I'm just glad mine worked with my first try messing with EEPROM. Learned more after you posted

Here is the animation sample, I set it up so it draws a position marker based on a ADC input, and I used the modified code henrik posted.

Code:
Include "LCD_D.bas"
INCLUDE "ADC_Default.bas"

EEPROM 0,[0,0,4,8,16,0,0,0]          ' Cust Char #0
EEPROM 8,[0,0,28,0,0,0,0,0]          ' Cust Char #1
EEPROM 16,[16,8,4,0,0,0,0,0]          ' Cust Char #2
EEPROM 24,[4,4,4,0,0,0,0,0]           ' Cust Char #3
EEPROM 32,[1,2,4,0,0,0,0,0]           ' Cust Char #4
EEPROM 40,[0,0,7,0,0,0,0,0]          ' Cust Char #5
EEPROM 48,[0,0,4,2,1,0,0,0]          ' Cust Char #6

CGLOAD VAR WORD : CGLOAD = 0 ' Variable for holding Character # to Load
CGLLOC VAR BYTE : CGLLOC = 0 ' LCD Location to Store Character (0 to 7)
CGLOOP VAR BYTE                 ' Variable for Selecting Data Bits
CGDATA VAR BYTE              ' Variable to Hold Character Data
Position Var WORD : Position = 0

LCDOUT $FE, 2
Pause 1000

MainLoop:
ADCIN 0, Position                       ' Read ADC Channel 0 (16 bit)
position = position / 10000
CGLOAD = position
CGLLOC = 0
gosub SETCGLCD
LCDOUT $FE, $80  ' This locations characters will change after charater update
LCDOUT 0
Pause 50
goto mainloop
END

SETCGLCD:
CGLOAD = CGLOAD * 8 ' Converts your Character Selection to EEPROM Address
CGLLOC = (CGLLOC * 8) + 64  ' Converts LCD Slot to LCD Memory Address
LCDOUT $FE, CGLLOC
FOR CGLOOP = CGLOAD to (CGLOAD + 7)   'Sets 1st Memory Address to Read + Next 7
read CGLOOP, CGDATA ' Retrieve byte from EEPROM 
LCDOUT CGDATA
next CGLOOP
Return