Short answer:
You are probably just looking for a way to relocate your main() function. This can be done through SECTIONS... END and PLACEMENT....END in the .prm file, followed by a #pragma CODE_SEG my_main in the main() file. There is an app note for that, somewhere on the Freescale site.
Long answer:
The real starting address of a S12 MCU is always FFFF, because that is where the reset vector address is programmed. Therefore the last line of your s-record doesn't need to know the starting address - the S8 row is ignored and therefore set to all zeroes. The address FFFF, or rather the whole interrupt vector table, is programmed along with the rest of the flash. So you will find the actual start address in some S1/S2 row that programs the memory at FFFF.
When you create a default Codewarrior project, it programs the location of _Startup into the interrupt vector table, at address 0xFFFF. You shouldn't try to change that in the .prm. By default it would have said something like VECTOR ADDRESS 0xFFFF _Startup, or possibly VECTOR 0 _Startup.
The _Startup routine does the following: It sets the stack pointer. It may map physical memory depending on S12 type and CW version, registers INITRG, INITRM and INITEE for registers, RAM and EEPROM respectively. It may or may not enable the COP, depending on CW version. It initializes global and static variables as enforced by the C standard, but only if you picked "ANSI C startup" rather than "minimal startup" when you created the project. When all is done, it calls main().
If you are not familiar with all of the above things done by the _Startup, or if you don't know how static initialization and storage duration work in C, then don't try to fiddle with _Startup. Use the default CW project and leave it at that.
If you are an "advanced" user who needs optimal performance, standard compliance or simply someone who is annoyed at the mysterious magical _Startup file, you could replace it with an implementation of your own. I described how to do that here: HCS12 banked model & "near" function pointers.
That post is for an older version of Codewarrior but the general idea is the same. It will have to be ported to suit the specific S12 derivate as their peripherals may vary. One shouldn't attempt to implement ISRs for peripherals that aren't physically present in the silicon, for example.
There is also an app note describing how to write your own interrupt vector table in C, similar to the code I posted on that thread, but that app note will not use standard C.