Regarding lives, I think the easiest way would be to assign a global variable ("lives" or "health") to your player object, and upon collision with an enemy, subtract 1 from that variable.
Then once "lives" reaches zero you can kill your player in any manner of ways.
An instance variable would also work, but would be more appropriate if you have multiple players, or would like to assign a certain amount of health to each enemy.
Jumping on a monster would be much easier with "overlapping at offset", but I don't think it's been implemented in C2 yet. I'd try comparing X and Y co-ordinates of the player in relation to the enemy to test if the player is on top of the enemy while colliding.
There's an example of another way to do it here.
edit: Here's how I would do it. linkplauk2011-10-30 01:16:55