How about updating the suggested buyer field in the iProcurement during the requisition creation.
We do not have a suggested buyer field on our requisitions. The buyer is determined by the approval workflow setup of the requester (we can change the requester). This is overridden for contract orders, making the buyer the buyer in charge of the contract.
Just a thought, try if this helps.
You can create ASL with Commodity approved to supplier at line level and in Supplier Item Attribute screen assign CPA with proper Release Method.
So whenever you punchout items and create PR, based on that category it source CPA from ASL.
Assuming, you mapped categories to commodity.