Set up a self join relationship between contacts and a new table occurrence of contacts. Match records by business ID. In the relationship, specify a sort order based on your job title categories that sorts them by the order of these categories. (You can use a value list to specify an arbitrary sort order).
Assuming that this sort order puts the highest ranked related contact 1st, you can set up a calculation field, cPriority like this
__pkContactID = Contacts2::__pkContactID
This will return a 1 if the contact is the highest ranked contact for the company and 0 if it is not. You can then specify a 1 in this field when performing a find for contacts to which to send out your communications.
That works perfectly, thank you so much for your help!