Is it possible to set bpy.data.filepath without saving the file?
The bpy.data.filepath property reflects the current blendfile's location, which is why it is read only.

Not sure I understand your problem fully, but here's a suggestion:
You can save the file implicitly (without asking the user to provide a save path), and decide yourself on an arbitrary temporary path for your save. By providing the bpy.ops.wm.save_as_mainfile() operator a filepath parameter, you can save directly to any path you desire.

bpy.ops.wm.save_as_mainfile( filepath = MYPATH )


You can later load that file implicitly again, with the opposite operator:

bpy.ops.wm.open_mainfile( filepath = MYPATH )


This way, you don't need to care what the value of bpy.data.filepath is.