I would have to see the form to see the best way to handle it.
But the simplest way would be to try the insert. If it fails on the services required portion add the required fields for adding data to the other table to the form. Then re-render the form with the already submitted variables populated to the field so the user only has to enter the new data.
If the services required field is a free text field you could have an AJAX call that checks validity and on failure adds the fields for required data to your form.
The way I would handle this is have the services required listed as a drop down. Then I would add an "Other" option manually to the end of the drop down list. Using an Onchange event I would check to see if the other option was selected and then prompt the user to add the information for the new services required.
This last option makes sure that your users aren't frivolously adding services to the database due to poor spelling or laziness.