There is no solution for you in standard you have to develop something yourself.
It is even possible to create purchase orders before a company code view is created for a vendor master, hence it cannot be controlled via company code blocks. The block at company code will have an effect on goods receipt and invoice receipt, which is too late.
Purchasing blocks can only be set at purchasing organisation level. Even you can create a vendor with a plant level , it is not possible to set a block at this level. If this purchasing organisation serves many plants then a block will affect all plants.
only with a purchasing organization specific responsible for a single plant you can meet your requirement in standard with a procurement block at purchasing org level.