What you’re attempting probably can’t be done using query_posts(), as there’s no mechanism at present I’m aware of that lets you pass it JOIN clauses and the like (which would be necessary to tie the postmeta table into the posts query).
That doesn’t mean there’s no way to do it, however.
One tack is to code a custom query that collects the posts you want, then use the older posts loop methodology (i.e. foreach($posts as $post)
etc.). The downside is it lacks a certain elegance (for what that’s worth), but also can cause issues with other plugins and internal WP elements that rely on the standard loop to be in place.
Another (and to my mind, better) method is to create a plugin that makes use of the API hooks WordPress offers to *superimpose* your query elements on the default one. An example that’s *close* to what you’re asking for is my Custom Home plugin:
https://www.ads-software.com/support/topic/93438#post-470202
What’s lacking is the orderby, and of course limiting to a specific category query rather than home page. If you’re interested, a mod of the plugin would be quick and painless for me to code up.