Mapping the attribute to the autonumber field will automatically set the attribute to the int from the webservice, which, as you guessed, shouldn't be possible.
In other words, no, as far as I know there isn't a neat way to do it, other than the suggestion you proposed, namely to use another attribute and use that to find the right object.
I know some projects actually prefer this, and create a type of "log" object which all XML data is mapped to, and they then use to find the correct metaobjects. These log objects are only used for that purpose.
Not tested, but I think this will work:
You could try passing the ID as a parameter to a custom object handler microflow in the mapping, and in that microflow retrieve the object with the given ID. This has the same behaviour as when using the "find" object handling in a mapping, but doesn't require actually mapping the ID field, which makes it possible to use the AutoNumber type for your Id attribute.