This is not possible, out of the box, as far as I know. While you can make steps in this direction using in-Maximo tools, there will be limitations that you may not be able to overcome without customization. For example, you could make your own child table to capture all the vendors who have signed the contract, but if you try to make a Release PO from that contract, out of the box code is going to use the out of the box field on the contract to set the vendor on the PO.
There are several types of contracts in Maximo. Did you have a certain one in mind?
------------------------------
Blessings,
Jason Uppenborn
Sr. Technical Maximo Consultant
Cohesive
------------------------------