From the Reference Manual:
12.4.6 Internal Reference Clock
All MCU devices are factory programmed with a trim value in a reserved memory location. This value is
uploaded to the ICSTRM register and ICS FTRIM register during any reset initialization. For finer
precision, you can trim the internal oscillator in the application and set the FTRIM bit accordingly.
4.2.1 Flash Module Reserved Memory Locations
The factory trim values are stored in the flash information row (IFR)1 and are automatically loaded into
the ICSTRM and ICSSC registers after any reset. The oscillator trim values stored in TRIM and FTRIM
can be reprogrammed by third party programmers and must be copied into the corresponding ICS registers
(ICSTRM and ICSSC) by user code to override the factory trim.
NOTE
When the MCU is in active BDM, the trim value in the IFR is not loaded.
Instead, the ICSTRM register resets to 0x80 and ICSSC[FTRIM] resets to
zero.
IFR — Nonvolatile information memory that can only be accessed during production test. During production test, system
initialization, configuration, and test information is stored in the IFR. This information cannot be read or modified in normal
user or background debug modes.
===
I'll agree that still isn't totally clear. It does look like the "IFR" isn't accessible to your code. It determines the initial hardware trim register values. It looks like your USER CODE has to write alternate or updated values to the hardware. I think the "default" locations for this information are as detailed in the above section, but frankly you could probably store the new values anywhere convenient to you. It does look like "your user code has to update these values as you see fit" though.
If you search for "flash information row" on Freescale's site you'll find 28 references (in other product manuals). The one I looked at (MCF52259RM.pdf) is worse than the MCF51QE one, it only gives referrals in notes without any details. It might be worth looking at the other 27 manuals to see if any of them are any better.
Tom