Bueno, en el C18 tienes que trabajar con el LINKER. Para ello debes comprender cómo está armado el linker file.
A partir de allí puedes hacer la misma cosa de varias formas, en los ejemplos del C18 se indica cómo hacerlo.
Por ej. para definir una sección de datos
#pragma udata misdatos=0x200
char buffer[10];
Por ej. para definir una sección de datos
#pragma code micodigo=0x3FC0
;Codigo
#pragma code
Y para armar secciones de incio/fin yo trabajo cno el linker , definiendo regiones.