Hi,
Seems VC will be the best option in this case. Refer the help doc: Example: Configurable Materials in Purchasing - Purchasing (MM-PUR) - SAP Library Size will be the variant in your example.
Please note that VC is not supported in outline agreements. You may create the Contract without variant and then select the required variants while creating the release orders. (I couldnt test the same - please check). Track the stock at IM level using based on batch (batch managed material)!!
If you dont want to use VC, and if you have only one material code for all the allen keys, then the material description change (manual) in the release orders will be one option. Create a batch characteristic to represent the size.
Regards,
AKPT