if I put the venues and events in a connected relationship via Toolset, do you think I would then be able to set up the filtering by State/Province?
Unfortunately not, filtering by fields of related posts is a part of the post relationships project that never got completed (you can vote for it here: https://toolset.com/home/contact-us/suggest-a-new-feature-for-toolset/).
When you say "filter events" I'm not sure whether you mean a static filter or whether you mean a front-end filter control as with a custom search.
Let's consider a static filter for now.
So, we have a View which shows events, and we only want to return events where the venue is in Maine, for example.
It helps if you are familiar with the WP_Query class used by WordPress to retrieve posts and the options available: https://developer.wordpress.org/reference/classes/wp_query/
The principle is that you need to run a pre-query of venues before running the main query of events that are connected to those venues.
You query venues that are in Maine (using the _VenueStateProvince field) to generate a list of possible venues.
You then query events that occur at these venues. I don't know anything about how that connection is stored by the plugin to help with that. Surely they have an API that can perform such queries? Their documentation or support should be able to help work that part out.
It may be if the queries are complex (because of how the data is stored) that you need to run both queries, the initial query for venues and the subsequent query for matching events, in code, but then if you are able to generate an array of event post IDs you can use the post__in argument (of WP_Query) where you essentially spoon-feed the View the IDs of the posts it should return and then you can still benefit from the output section of the View to generate the visual results even though the querying itself was done in code.
Sorry I can't be more specific without knowing the details of how the plugin stores its data and the API available.
From the Toolset side, you create a View for events.
You would then use the wpv_filter_query API hook (https://toolset.com/documentation/programmer-reference/views-filters/#wpv_filter_query) to add your custom code.
It would first query the venues according to the state.
It would then either perform another query for the matching events (or use one of the plugin's API functions) and update the View query args for the post__in parameter with an array of the event IDs, or if the data that connects the events to the venues is stored on the event posts in a simple way it may be possible to have the View perform the event query by updating its query arguments.