Hi Adam.
That area of on-board memory is actually FLASH (eeprom) memory. It has very specific and difficult erase/write requirements, and cannot be treated as ram.
While it is possible to erase and write portions of flash from within a user/application there are some constraints:
1. You must first erase a row/page/block (varies per controller)
2. Your code that is to erase/write the flash cannot be running out of the block being modified.
3. There are some serious timing issues involved.
For this reason freescale provides a chunk of hardware somewhere within the controller that performs the lowest-level of these tasks for you, but still your code thats using this hardware must not be running in the area of flash that you wish to modify.
Freescale provides some application notes on this matter (sorry, I don't have the a/n numbers because I haven't used them). Search the app note area for 'doonstack' (do-on-stack) which is a routine for writing flash that runs on the cpu stack in ram.
Hope this helps.
ron