So what exactly is your question?
As you implied, simply create a new field named "Region", or something to that effect, and fill in the appropriate region for each state.
Then in queries, you can sort by this field to "group" these on queries. On reports, you can actually make use of the Grouping option.