When user touches sprite for second time I want to stop execution of that event[from first touch] and start over.
Use a global variable as a trigger.
Global variable Trigger = 0
Main event:
Do something:
On Trigger =1
Sub event:
Wait so many seconds:
On Trigger =0
On Sprite touched: Set Trigger =1
Trigger = 0
On Sprite touched: Set Trigger =0
Trigger = 1
You can use global variables in sub events to trigger only certain actions just like you can for main events.