Depending on how the Shopify products and their variants are defined, perhaps you could utilize the product variant's SKU property? This is a unique identifier. If they are already using this SKU property, you can utilize an option to define a custom field and its value. For example, if option1 isn't being used you could utilize
See here for details --> https://shopify.dev/docs/admin-api/rest/reference/products/product-variant?api[version]=2020-04
That would work then. As long as the products haven't already been defined with the maximum of three variant options you are fine.
It'd be like this crude mapping, assuming that Option1 hasn't already been used for something such as size, color, etc. :)
Product => Men's 26" Beach Cruiser
Variant => Option1 = 123456789
Variant => Option1 = 987654321
Variant => Option1 = 012345678
Of course depending on the scope and depth of your inventory it could result in a lot of variants. See https://help.shopify.com/en/manual/products/variants/add-variants#:~:text=You%20can%20create%20up%20... for details.
We ran into a similar challenge when evaluating Shopify. We have a lot (i.e. - over 75%) of our inventory as serialized. Since we need to report back on vendor consignment activity for reconciling things. In terms of report analysis and stock levels, we just roll up all "child" variants to the "parent" product level. This is usually done outside of canned Shopify reports, since using the API we can extract the data and slice/dice however we'd like.