Check the prm file, sounds like the zero page segment name is not listed after INTO for the DEFAULT_RAM clause.
Segment names can be listed multiple times, so place all zero page variables into the zero page first and then list the same segment name as destination for DEFAULT_RAM too.
That should make those 160 bytes available for use easily, but it will be using the more expensive EXT extended addressing modes.
So in order to place variables explictely into the zero page use a
#pragma DATA_SEG __SHORT_SEG MY_ZEROPAGE
search in the forums for "#pragma DATA_SEG __SHORT_SEG"
For example
http://forums.freescale.com/freescale/board/message?board.id=8BITCOMM&message.id=11614&query.id=1225...
pragma section is for the coldfire compiler, not for the S08, you should get a warning when using it. Using near changes the way the compiler accesses variables, it does not change the place/section it gets allocated into.
Daniel