Create a seperate domain model for importing, after importing pass the imported object or list of imported objects to a microflow which synchronizes your data.
I think the best thing to do is to import into a non persistable (temporary) object. Let the Import XML action in your MF return the NP object. Then you can retrieve the actual object from your DB or create a new object and do all kind of changes you like.
You can use a 1-* association between 2 NP objects. One will be the highest node in your XML. This is the object you want to recieve back. Then retrieve over the association and you get a list of all objects that are imported. Then loop over this list and do the changes.
When you have the following xml:
<Records>
<Record>
<id>value</id>
<startdate>value</startdate>
<enddate>value</enddate>
</Record>
<Record>
<id>value</id>
<startdate>value</startdate>
<enddate>value</enddate>
</Record>
<Record>
<id>value</id>
<startdate>value</startdate>
<enddate>value</enddate>
</Record>
</Records>
Create 2 NP objects: Record and Records and associate them with a 1-* association. Then be sure to map these in your XML-Domain mapping. Now when you import the XML you get the Records object. With a simple retrieve over association you get all Record objects.