in your prm, you define the 0x40..0xFF area twice, once as part of the RAM and once as part of the Z_RAM SEGMENT.
Z_RAM = READ_WRITE 0x0040 TO 0x00FF;
RAM = READ_WRITE 0x0040 TO 0x013F;
Well I dont have an installation here, but does this not cause any problems? I would expect a linker diagnostics for this, and if there is none, or if it is ignored, that the stack overlaps with your variables.
I would recommend to actually keep the separation of the zero page area and the non zero page area, and then use the Z_RAM area too once RAM is full.
E.g. (not tested)
PLACEMENT
_DATA_ZEROPAGE, MY_ZEROPAGE INTO Z_RAM;
DEFAULT_RAM INTO RAM, Z_RAM;
SSTACK INTO RAM, Z_RAM;
DEFAULT_ROM, ROM_VAR, STRINGS INTO ROM;
END
About your question, the wizard generated prm file is copied from lib\hc08c\prm. But I would be very careful with modifying the template. Any kind of introduced bugs will be very hard to track. The original prm may not be the best, but it at least works. Also note that the wizard does adapt some of the prm file content for special use (for the memory model, for assembly only projects, OSEK, ...).
As for the HC08, using direct addressing is providing many benefits, explicitely allocating the often used variables in a __SHORT_SEG (direct) section may help a lot. Maybe the tiny memory model (and using the 64 non direct bytes explitely extended (__far) would be a good aproach for this chip too.
Daniel