In order to do that, you will need to have a Key field of the Violations table which is a concatenation of the Related Contractor and the Violation. ie you are saying that the different contractors pay different prices for the same violation.
For example
List("-", ToText([Related Contractor]), [Violation]) I am assuming here that the Violations are just a multiple choice field and not a table of Violation types.
Now, Normally the Key field of a table may not be a formula field. So you have two choices. The low tech way is to make a regular text field field called [Contractor - Violation Key field] and make a form rule to populate that when the record is saved by making it the same as the formula field. The alternative is to use the API to set the Key field to that formula field. API_SetKeyField ... and you just type the API into the browser URL bar.
https://help.quickbase.com/api-guide/index.html#setkeyfield.htmlThen on the Violation occurrences table (I assume actually you have a 4th table of the actual violation occurrences) you would replicate that Key field by formula and look up the cost of the violation.