In essence, I agree.
To do this today, I would propose adding a custom attribute to the (project) object that holds an 'external reference' or 'identification key'.
Then after using XOG to put the data in along with these unique import keys, you could then via an NSQL Query or project XOG read request fetch back the IDs of the projects and the keys you used to identify/match them up.
That's just one way I would maybe think to implement urmas 's suggestion using GEL (or if the requests come in via an external interface, how it might similarly be changed to get those answers).