This sort of thing is generally handled through contextual filters in your view. Views, Panels and Page Manager work well together to manage passing contextual filters to a view for filtered output, but there is a bit of a learning curve involved.
I'm not generally one for video tutorials, but I found this one to be a good introduction to this methodology: http://drupalize.me/videos/overview-page-manager-series
If you want a quick-and-dirty way to achieve this, use the module views_field_view https://drupal.org/project/views_field_view and do something like this:
in your forum posting view, set a contextual filter on your state term reference field tid
create a new view based on users, and add a contextual filter on "User: Uid"
- on the contextual filter configuration page, under "when the filter value is not available" select "provide default value"
- under type, select user id from logged in user
add a field for the state term reference field tid
add a field Global:View ( provided by the views_field_view module ), with these settings:
- View: your forum postings view, as modified with contextual filter above
- Display: Master
- Contextual filter: [tid]
This should now display all forum postings whose state of residence matches the currently logged in user's state of residence.
note that if you are on a page URL that points to a profile of a different user, and you've set it up so the view is visible on this page, it will show all postings for THAT user, as the view will be able to grab a uid from the URL. ... so ... that may be a benefit or a drawback, depending on your intent.
disclaimer: written on short sleep. hope i got all the i's dotted and t's crossed