Something like this is easier with PBP.

This is in an include file;
Code:
  ' IR carrier generator routines. Freq.inc.

  Cycles VAR BYTE    ' Number of carrier cycles
  
  GOTO OverFreq  ' jump over pulse routines
  
' Generate "Cycles" number of 40kHz pulses
ASM
_Pulse40
   bcf IRTX,PIN     ; 1uS, LED=on
   goto $+1         ; + 2uS = 3uS
   goto $+1         ; + 2uS = 5uS
   goto $+1         ; + 2uS = 7uS
   goto $+1         ; + 2uS = 9uS
   goto $+1         ; + 2uS = 11uS
   goto $+1         ; + 2uS = 13uS   
   bsf IRTX,PIN     ; 1uS, LED=on
   goto $+1         ; + 2uS = 3uS
   goto $+1         ; + 2uS = 5uS
   goto $+1         ; + 2uS = 7uS
   goto $+1         ; + 2uS = 9uS
   decfsz _Cycles,f ; + 1uS = 10S    
   goto _Pulse40    ; + 2uS = 12uS
   return           ; Return to caller    
ENDASM

' Generate "Cycles" number of ~38.4kHz pulses
ASM
_Pulse38
   bcf IRTX,PIN     ; 1uS, LED=on
   goto $+1         ; + 2uS = 3uS
   goto $+1         ; + 2uS = 5uS
   goto $+1         ; + 2uS = 7uS
   goto $+1         ; + 2uS = 9uS
   goto $+1         ; + 2uS = 11uS
   goto $+1         ; + 2uS = 13uS   
   bsf IRTX,PIN     ; 1uS, LED=on
   goto $+1         ; + 2uS = 3uS
   goto $+1         ; + 2uS = 5uS
   goto $+1         ; + 2uS = 7uS
   goto $+1         ; + 2uS = 9uS
   nop              ; + 1uS = 10uS
   decfsz _Cycles,f ; + 1uS = 11S    
   goto _Pulse38    ; + 2uS = 13uS
   return           ; Return to caller    
ENDASM

OverFreq:
Create one for whatever IR carrier freq you need, and just call them like this with PBP;
Code:
@ #define IRTX GPIO  ; Define port to use for IR out
@ #define PIN 2      ; Define port pin to use for IR out

INCLUDE "Freq.inc" ' 

  GPIO.2 = 1       ' IR LED off   -----|<|----/\/\/\----+5
  TRISIO.2 = 0     ' Output for IR signal
  CMCON = 7        ' Comparators disabled
  ANSEL = 0        ' A/D disabled
       
Main:
  Cycles = 60      ' min 1, max 255
  CALL Pulse38
  GOTO Main
  
  END
At 4MHz you won't be spot-on for every carrier frequency, but it will be close enough to work with pretty much any off-the-shelf IR receiver.