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...