There are many SEO firms out there that perfom SEO services for smaller type businesses. The trick is to find one that is affordable and dependable - and that is where it gets difficult. The competition is so fierce between SEO firms that some will even resort to false claims and bogus testimonials to get new clients.
As with most purchases of any significance, I think it is important to follow the old saying: "trust and verify". In other words; trust what you see but verify before you make your decision about a small business SEO company.
It's usually best to compare at least 3 SEO companies before you make your final decision. Make certain to speak with a representative from each and ask specific questions about what they can do for your business/website and the expected time-frame range before you take the plunge.