from the link posted by joe s i did some digging around and i came accreoo this little gem from Ingvar

x var byte
i var byte

main:
for i = 0 to 3
' a b c d
' 0 6 4 2
LOOKUP i, [0,14,20,26], x
porta.0[x]=1
PAUSE 1000
porta.0[x]=0
PAUSE 300
next i


from this thread http://www.picbasic.co.uk/forum/showthread.php?t=4074

Which is using a look up table to (undocumented feature) offset address a port bit off a register. they are talking about relays but i'm going to have a go for lcddata register bit addressing

Thanks to all for your help

Alastair