It seems to me that what is needed is for oDesk to make it easier for good freelancers stand out. This will be better for both clients and freelancers. It will, for example, allow clients to more easily find good matches for their needs. (Recent developments on oDesk seem to be aimed at exactly this, and I follow them with great interest.)
There are some simple things that can be done to that end. (If you can, please open some job with several applicants on it so that you can better follow along and visualize my verbal explanations here.) For example, on the page of a posted job, the applicants can be ordered based on their work history rating instead of on the Date Applied.
Also, again on the page of a posted job, currently on the Applicants table there are three columns - Freelancer, Date Applied and Initiated By. It seems to me that the last two columns are irrelevant. What would be better, in my view, is to have on that table some relevant information about the freelancer. Things like the work history rating, portfolio items and feedback from clients. Currently that information is buried in the freelancer's profile.
If, say, the portfolios are included in the Applicants table, the following could happen: when the mouse is hovered over the portfolio column for a given freelancer, it would not be hard to have just the titles of all the freelancer's portfolios show up. And when the mouse is hovered over a given title of a portfolio, the thing would expand, showing the full portfolio.
Similar logic can be applied to the client feedback information.