Okay!
I managed to piece together a working solution out of a lot of research.
First, I modified the my LCF linker command file as follows:
MEMORY
{
....
NVRAM (RW) : ORIGIN = 0x00800000, LENGTH = 0x00000100
....
}
SECTIONS
{
....
.no_init :
{
*(.no_init)
} > NVRAM
....
}
Then, within my code, I declared my persistent data (in this case, a clock structure) as follows:
#pragma define_section NO_INIT ".no_init" ".no_init"
__declspec(NO_INIT) volatile T_CLK tClk; //uninitialized!
Now, at least in preliminary tests, my clock will survive a PIN reset to keep counting, but of course I'll have to do something specific on any other reset (POR, COP, etc.), but I'm willing to deal with that.
Good luck to all in your non-CW 6.3, non-MCF51 implementations. I've had to experiment with a number of community posts to come up with the above. Some of the offerings seemed to do nothing. Others produced linker error messages I just don't care to deal with. LCF documentation was marginally helpful (I thank whomever I ripped off the above from, wherever you are).