Not sure I understand....
Are you saying that this code works:
Code:
MAIN:
    PORTA.0[23]  = 1   ' OK but useless
    ASM
      nop
      nop
      nop
    ENDASM
    
    PORTC.7 = 0         ' have this syntax for tests only here
        ASM
            nop
        ENDASM
        
    GOTO MAIN
END
And this isn't:
Code:
X VAR BYTE
X = 23
MAIN:
    PORTA.0[X]   = 1   ' No! Makes a blink in the scope and then stays LOW
    ASM
      nop
      nop
      nop
    ENDASM
    
    PORTC.7 = 0         ' have this syntax for tests only here
    ASM
      nop
    ENDASM
        
    GOTO MAIN
END
The 16F690 has an ADC and comparators.
Many of the pins are analog. I don't see you setting them to digital mode. PortC.7 is, however, not one of the analog pins but since you're trying to "index" pins with a variable I suspect PortC.7 isn't the only pin you want to use.

/Henrik.