You missed the DEFINE thing, however I came up with the following
Code:
DEFINE SData PORTB,1
DEFINE SClock PORTB,2
And then in the compilation time section you use
Code:
CreateVar MACRO PortIn,BitIn, PortOut, BitOut
PortOut = PortIn
BitOut = #V(BitIn)
ENDM
;
;
; somewhere later
;
@ CreateVar SData, SerData, DataBit
@ CreateVar SClock, SerClock, ClockBit
SerData VAR BYTE EXT
DataBit CON EXT
SerClock VAR BYTE EXT
ClockBit CON EXT
just need to use 'em like
Code:
HIGH SerClock.0[ClockBit]
It has some success, ugly... and we also know this method is not going to work all the time... good example? Shiftout 
Keep thinking...
Bookmarks