position1 and position2 are declared as byte vars . there is no position1.highbyte
the position1 high nibble is Hbyte = ( position1 & %11110000 )>>4 , low nibble Lbyte = position1 & %00001111.
SEROUT2 2,16780,[BIN Lbyte,BIN Hbyte] would send 16 ascii 0 or 1's ( 0x30/0x31) is that what you really want ?
I suspect you should try SEROUT2 2,16780,[position1]