fwiw, I saw this response and thought it might help with a piece of your task. It's dealing with SDE (which I don't know that your are), but it has a couple suggestions for starting up an edit session. just fyi.
I often write scripts which are designed to run for hours or days, so I usually add a test at the top of major processing loops that check for some condition which would cause graceful termination. Often it is the existence of a "stop.now" file, but sometimes it is a "pause.now" which puts the script in a loop waiting for either a "stop.now" to terminate or an absence of "pause.now" to continue. This would have to be added into your script before execution.
Python script tools (.pyt) can interact with the progress bar in the tool window, but need to be inside an asynchronous arcpy.SetProgressor()/ResetProgressor() session, at which point a try block around arcpy.SetProgressorPosition() will catch a Cancel button press and allow you to handle it gracefully.
- V