How to offset program location in memory with MPLABX XC8?
A quick search led me to this Microchip forum discussion where the solution appears to be specifying --CODEOFFSET as one of the linker arguments.

The forum also has a link to a webinar on the same topic.

Command line:

You can pass the offset when compiling with the command line by passing --codeoffset=&lt;location&gt; during linking (i.e. --codeoffset=0x1000).

MPLABX IDE

Specify the code offset by accessing project properties -> XC8 global options -> XC8 linker, changing the Option categories: to Additional options, and entering the offset in the Codeoffset field: