At the moment there is no Commerce variants field type unfortunately. It comes up a lot, someone should post it here....I would vote for it: https://craftcms.uservoice.com/https://github.com/craftcms/commerce/issues.
Edit - I've gone ahead and posted this here - https://craftcms.uservoice.com/forums/285221-feature-requests/suggestions/17213888-there-was-a-commerce-variants-filedtype - get voting!!https://github.com/craftcms/commerce/issues
In the meantime yes a text or eg table field could store variant IDs...which I suppose is ultimately what a proper field type would do basically.