Custom query looking at multiple custom fields and properly sorting

Though it might take some tweaking you can use the ‘orderby’ parameter on multiple values.

The difficulty here is more in terms of logic, for example July 3 (date value) and the number 10 (meta value) do not really relate to one another, this would cause problems if not formatted correctly.

You best bet is to convert the date to a format that will work with your meta values using the built in WordPress date format, a PHP date format ( most likely a unix timestamp, or timestamp) , or appending a fixed set of values to the date for ordering purposes.

Multiple orderby example. This is not intuitive you have to look closely there are two values separated by a space, “title” AND “menu_order”:

$query = new WP_Query( array( 
                     'post_type' => 'page', 
                     'orderby' => 'title menu_order', 
                     'order' => 'ASC' ) );

Date reference:
http://www.php.net/manual/en/datetime.formats.php
http://www.php.net/manual/en/function.strtotime.php
http://codex.wordpress.org/Function_Reference/the_date

Query:
http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters