Symbolic label references verses direct address references

e.g. without symbolic references

205	movfw	$20
206	addlw	1
207	movfw	$20
208	sublw	30
209	btfsc	3,2
20A	goto	$20E
20B	xorlw	$FF
20C	addlw	1
20D	movwf	$20
20E	decfsz	$21
20F	goto	$205
300	goto	$306
301	goto	$401

Removing the xorlw instruction at 20B would cause the goto at 20A to refer to the wrong destination instruction and so it would have to be modified to refer to 20D since all instructions from 20B are moved up. Note also how forward references that occure after the change are affected and must be updated.
e.g. with xorlw at 20B removed

205	movfw	$20
206	addlw	1
207	movfw	$20
208	sublw	30
209	btfsc	3,2
20A	goto	$20D
20B	addlw	1
20C	movwf	$20
20D	decfsz	$21
20E	goto	$205
20F	goto	$305
300	goto	$400

e.g. the same code with symbolic references

lab1	movfw	acc
	addlw	1
	movfw	acc
	sublw	30
	btfsc	STATUS,Z
	goto	lab3
	xorlw	$FF
	addlw	1
	movwf	acc
lab3	decfsz	cnt
	goto	lab1
	goto	lab_A
	goto	lab_B

Removing the xorlw instruction here does not cause any problems with the rest of the program since the assembler recalculates all the address of the symbolic labels. Here the only change necessary was the removal of the one xorlw instruction.
e.g. with symbolic references and the xorlw instruction removed

lab1	movfw	acc
	addlw	1
	movfw	acc
	sublw	30
	btfsc	STATUS,Z
	goto	lab3
	addlw	1
	movwf	acc
lab3	decfsz	cnt
	goto	lab1
	goto	lab_A
	goto	lab_B