Do you mean something like this (I'm sure there's more elegant code, but ...):

Code:
temp  VAR  WORD

;----[Main Program Loop]----------------------------------------
Main:
    x = (x + 1) // LEDcount
    IF LoopLED(x) < OnTime(x) THEN
        READ Brightness + x, temp
        IF Bright(x) < temp THEN
            Bright(x) = Bright(x) + 2
        ELSE
            Bright(x) = temp
        ENDIF
    ELSE
        IF Bright(x) > 0 THEN
            Bright(x) = Bright(x) - 2
        ELSE
            Bright(x) = 0
        ENDIF
    ENDIF
    LoopLED(x) = (LoopLED(x) + 1) // (OnTime(x) + OffTime(x))
    #IFDEF USE_RANDOM_SEQUENCE
        RandPeriod(x) = RandPeriod(x) - 1
        IF RandPeriod(x) = 0 THEN
            READ RandPeriods+(x<<1), WORD RandPeriod(x)
            RANDOM RND
            OnTime(x) = (MAX_ON - MIN_ON)* RND.HighByte / 255 + MIN_ON
            OffTime(x)= (MAX_OFF - MIN_OFF)* RND.LowByte / 255 + MIN_OFF
        ENDIF
    #ENDIF

    IF x != (LEDcount - 1) THEN Main

Waiting: IF !TMR0IF THEN Waiting
    TMR0 = 99
    TMR0IF = 0
GOTO Main