Yes. You would probably want your homepage to talk about generic plumbing services. Then, depending on the number of locations you have, I would probably link to them on the homepage. Perhaps include a section
Providing pluming services in the following areas:
San Antonio
Dallas
etc.
When a user clicks on one of these links from your homepage, they are brought to a landing page for the city - which would incorporate the city and plumbing in the title, description, content, etc. And then IF you have a physical address for each of these locations, you will want to use GetListed.org and link to each of those locations. Company Name - San Antonio, then link to your companyname.com/san-antonio-plumbers
And like you said, you don't want to be spammy with things. So that is why I would just list the city name and not city+plumbing.
If you wanted to take things a step further, you could do generic national homepage, then a landing page by region or state, then a page for each city you serve. The thing to keep in mind is, that if you are going to take this approach, you really should have physical office locations in each of these areas AND you will need to make sure that you create unique content for each of these landing pages, which can be difficult if the services are the exact same... so you may need to spin things slightly different for each location.
Hope this answers your question.
Mike