For the first part of this where you have the list of counties to choose from you can make this list a required field by using some client side validation from the Validation Toolkit or the new CSS Form Builder.
This can be a little tricky since you only have two client validations that you can apply to the select list. You can use the required validation or the regular expression. I think you may need to use the regular expression type of validation since the list of states will have values for all of the states.
You would apply this as a validation for the state select list, then you apply the conditional validation response. Using the state select list validation as the trigger you would conditionally validate the counties select list. After applying this response you can apply all of the regular validations to the form including the required validation for the counties. To find out more info about applying the client validations you should take a look at the help for Validation Toolkit or CSS Form Builder, in here it lists the types of validations and responses that can be used and how they work.
As far as how you are charging the user and how much you should be able to configure this in the calculation portion of the charge rule, you can do it based on the subtotal of the total price column to get the value of just the contents of the cart.