How would you go about selecting and hiring a website designer? My biggest issues have been
If you're looking for design, make sure you have good chemistry with the designer - because you need to like the final product, and it may take many iterations. This can occupy a huge amount of time.
However, looking for a designer is only half the work - you also need to get the design functioning. Some designers have programmers who they work with, or can refer you to. If the complexity of your site is high, then you may want to start by looking for a development firm who can refer you to graphic artists.
There are sites, such as 99designs, which facilitate the finding of graphic artists. I don't have personal experience with such sites, but have heard stories of good and bad results from those services, so it may be worth investigating.
There's also word-of-mouth. For example, depending on your project, I may be able to recommend a firm specific to your needs (feel free to get in touch directly). Other people in your network may be able to make recommendations.
It's hard to benchmark pricing - quality and speed can affect this, as can the local market, as well as how clearly you've defined the requirements. Prices will vary significantly between companies.
The best source is people you know who have great sites and are happy with their developer. Next best is sites you like - ask the owners who built their sites.
One key point - make sure you absolutely minimize any custom design work and that you use standard formatting templates along the lines of WordPress. This will save you time and money getting to launch and it will give you more flexibility with changes and save $'s on maintenance. Spend your money on the function that gives you unique value, differentiates you from competitors, and makes your site intuitive and easy for your target users.
While formal RFP's can be helpful, you need to make sure you're working with someone you can trust and with whom you'll be comfortable working. This is where personal recommendations will make all the difference.
Cheat.... or at least work backwards.
Find some some sites that have the look, functionality and volume of transactions that you want your site to achieve. Then contact them and find out who designed their site and in what language/framework. I think you will find that people are very open about this information, especially if you start the conversation with... Hey, I really like your site.
You may find that some sites are very expensive custom implementations done in Python(Django) or Ruby(Rails). Hopefully you will find that some of your target sites are implemented in WordPress using slightly customized themes and templates.
There are some key criteria which you should take into account while selecting good software development company such as readiness for long-term collaboration, attention to details, good level of communication.