Regarding your question about tick count and frequency. What does Input Capture do? On matching rising/falling edge it transfers contents of TCNT register into TCx. So it sort of operating at the same TCNT ticking frequency. Yes, your code should work, though some limitations still do apply:
1) TCNT should be free running. In case TCRE bit is set to reset TCNT to 0 on TCNT==TC7, you need to take the modulus of difference PW = (TC1 - TC0) % TC7; to calculate pulse width
2) Frequency of your input pulses still should be low enough, because input capture doesn't wait until you service input capture interrupt, TCx is overwritten with new TCNT on every matching edge, no matter did you read right TCx capture or not. In contrast to S12C TIM timer, S12D ECT timer has control register that allows to block input capture until old TCx is serviced.
3) Pulse width should be lower than TCNT overflow period. For wider pulses pulse width calculation is much more difficult.
Though it's an old HC11 reference manual, but there you may find good description of how input capture and output compare is supposed to work, including well commented assembler examples. See chapters 10.5 and 10.6:
http://cache.freescale.com/files/microcontrollers/doc/ref_manual/M68HC11RM.pdf