I'm not sure of any service for hiring an SEO beyond the standard marketplaces like oDesk & Freelancer.com. I've worked with a handful of "SEO experts" over the last few years and can tell you that it's important to be careful. I've wasted thousands of dollars bringing in "experts" when things get busy and the results have been everywhere from horrid to exceptional.
For me, the best approach is to take the time to scout out talent as if you're scouting for a professional sports team. Refuse to take the easy approach by putting an ad on oDesk and hoping that the right people respond. Instead, visit communities like Inbound.org, GrowthHackers.com, Moz.com or even Clarity to begin your hunt!
The community on Moz.com is likely going to provide you with the easiest route to finding talent. You could upload a post in their community section asking for talent and likely have a decent response. On the flipside, you could also do the heavy lifting on your own by browsing comments and other threads to find people who responded with insightful & high quality information.
I've hired SEO's and marketers everywhere from Europe to Canada - Happy to help out with resourcing or helping find the right talent if you ever want to chat.
Try Moz - they seem good. Hubspot.
Getting the keyword research and on-page optimization in place should be pretty basic work, unless you have tens of thousands of pages. This part of SEO is pretty commoditized, meaning that its a commodity and not a specialty item anymore On-page SEO hasn't changed much in the past 9+ years.
Where you'll spend most of your time and money is in link building. So the best "service" to hire, meaning you wouldn't do it in-house, is definitely link building. Even large successful SEO agencies have a hard time doing link building in-house and often outsource parts or all of the link building work for their clients. I know, I'm a link building vendor to many large and small digital agencies.
Good answers so far.
My recommendation is to also think about what your actual goal is with "SEO" getting done.
In the real world, it seems that consistent and relevant content [takes time] is the best way to "succeed" with SEO.
Hope this helps!
- mike vizdos