This is a really good question, and one that I get asked quite a bit from clients. If you have multiple physical locations it should be relatively easy to set up local targeting for them. The difficulty comes if you only have one physical location but are just trying to rank in other cities without an actual location. There are a few things to consider when trying to rank for multiple cities in the local area:
1. You need to have a physical address with a working phone number for each location you set up.
2. You need to have a web-page set up for each location. This doesn’t have to be a website but can be a page on a website.
3. The web-page you set up should have the address and phone number of the location you set up in google.
4. The listing in google should link to the related web-page.
5. Separate directory listings in Yelp, YP etc. should be set up for each location.
Sticking with these steps has helped us rank really well for keywords that clients are targeting as well as our own. If you do a google search for Las Vegas SEO and Henderson SEO you can see both of our locations rank well with different pages as the location page. This differentiates each location from one another making ranking much easier. Hope this helps!