This is possible.
In theory this is how it will work.
1) Collect a sample (recording the Subtype, and all domain values including the default values).
2) First sample is complete, and synchronized (if needed), but also the feature is stored in a variable called previousFeature.
3) Collect a new point, a form appears, Use Last Feature? Yes, then copy all values from previousFeature to the newFeature, except for what needs to be different.
4) New point is complete and synchronized.
OR
1) Store the previousFeature in memory, just like above.
2) Collect the new feature, but call a method to change newFeature to previousFeature except for what needs to be different.
For this to work, you will need to go through each field in previousFeature, and apply them to the newFeature for both cases.