The PULSIN and PULSOUT commands at 4MHz have a 10us resolution per count.
PULSIN will time out after 65535 counts or 655ms and return a value of 0 (zero) if it doesn't see the expected pulse.

Make sure MCLR setting is OFF or pin 4 pulled HIGH with a 10K or something to keep it out of reset.

Try this code but realize that if the PULSIN times out, the 0 (zero) will turn the LED ON too because it is <8.
Code:
ANSEL = 0 ' set I/O pin to digital
CMCON0 = 7 ' set comparator off
osccon = $60
define osc 4

input GPIO.4 ' set GPIO.4 to input pin 3
OUtput GPIO.2 ' set GPIO.0 to output pin 5
output GPIO.1 ' set GPIO.1 to output pin 6
sens var GPIO.4
led var GPIO.2
trig var GPIO.1
dist var word

main:
GOSUB distance    
    IF dist < 8 THEN
        HIGH led
    ELSE
        LOW led
    ENDIF
GOTO main    

distance:
    trig = 0            ' start output in LOW state
    PULSOUT trig,1      ' each count = 10us
    PULSIN sens,1,dist  ' will time out in 655ms if nothing received
    dist= dist/15 'convert to inches
    PAUSE 100
RETURN

END
If you don't want the LED ON when PULSOUT times out then I would use the SELECT CASE:
Code:
ADCON0 = 0      ' A/D module OFF
ANSEL = 0 ' set I/O pin to digital
CMCON0 = 7 ' set comparator off
osccon = $60
define osc 4

input GPIO.4 ' set GPIO.4 to input pin 3
OUtput GPIO.2 ' set GPIO.0 to output pin 5
output GPIO.1 ' set GPIO.1 to output pin 6
sens var GPIO.4
led var GPIO.2
trig var GPIO.1
dist var word

main:
GOSUB distance    
    SELECT CASE dist
        CASE 0          ' PULSIN timed out and returns zero, turns LED OFF
            LOW led 
        CASE IS < 8     ' dist <8 inches but not zero, turns ON LED
            HIGH led 
        CASE ELSE       ' dist >8 inches turns LED OFF
            LOW led
    END SELECT
GOTO main    

distance:
    trig = 0            ' start output in LOW state
    PULSOUT trig,1      ' each count = 10us
    PULSIN sens,1,dist  ' will time out in 655ms if nothing received
    dist= dist/15 'convert to inches
    PAUSE 100
RETURN

END