You should be able to do what you want with the Category Country Aware (CCA) Plugin. (it's for use within post/page content but also includes the widget below).
Option 1: (only for posts and if you are happy to create one off categories):
- Create new categories for say "Washington" and "NY" via WP Admin
Dashboard -> posts -> categories.
- In the post editor associate each post with the relevant new
to the CCA widget, save then repeat for "Washington" etc (example below).
You can use multiple CCA widgets ("text" or "RSS"), so you could use a second widget to say display local news for that city.
Option 2: If you want it to work with pages, or don't want give posts an extra unique category, want to use shortcodes, or would like to use the widget as a canvas for your own PHP then:
You can then add a custom field cca_category and value (e.g "Washington") to your posts and pages. The CCA widget will check if the post has a matching "cca_category" before checking for a matching WordPress category. (Section 4 of above link provides details on how to do this).
Declaration of interest! : I'm the plugin author.