Hi Topper... so let me make sure I understand this correctly... you need to have a unique ID on your InfoPath form... that seems like that is the inevitable goal here right? I think where you are struggeling is the other part of this.....a SharePoint Designer workflows.
I'm assuming you are n SharePOint 2010 or at elast 2007... and with IPTH the same.
The way I have solved this issue in the past is through a combo of SharePoint, SPT Designer and Infopath working in unison.
To give the form a Unique ID (lets call this new value the "NewID")....you have a custom list on SharePoint value the ID... and have a cell in the InfoPath form do a formula like (=MAX@NewID+1) This returns the highest value in the list called "NewID" and adds one. In the form your data connection is used to name the form that NewID from the Infopath form. In the background in a SharePoint Designer workflow, you pass the "NewID" through a variable to the list. When you submit you send this new number to the NewID list through a variable in Designer.....giving you your NewID number before it is generated. (Yes I know it sounds simplistic in the description, but I have done it before and it does work) again...this is done through a workflow in SharePoint Designer. Now the only issue in this is volume. If you have 30 people all entering at the same time, it is possible for one to overwrite the other, so ID and another characteristic is what I used (Like last name) make the unique identifer for the form. (Topper_123.xsn)
In the case of "refreshing the form without losing data", I would think the way to do that is to have multiple views. So lets just say you have an "IntakeView" and an "Analysis View". The goal being that you have an Intake is the default form and the Analsyt has to go in and validate info and populate new fields that the person doing the Intake does not need to see. You can pass that data to the other view. lets start there. did I understand your questions correctly?
IDK, its early maybe I'm wrong... is there an easier way? Did I understand your need correctly?