I asked almost exactly the same question in
http://forums.freescale.com/freescale/board/message?board.id=CW816COMM&thread.id=4301 where I needed to place a routine at a known address that it could be called from an older bootloader.
The solution was to create a section just for that routine. This is an HC12. Put this #pragma immediately prior to the C routine's definition:
#pragma CODE_SEG MUST_BE_0x40a2
and followed with
#pragma CODE_SEG DEFAULT
Now that there is only one routine in MUST_BE_0x40a2 you can accurately control its location in the PLACEMENT section of your .prm file.
Another method to consider if more than one routine is involved, such as the entire vector table, would be to put an array of jump indirects in a known ROM location. Jump indirect based on the value found in a RAM table. The ROM jump indirect table code size will not change so you can use the above technique to place the whole thing in the right place.