According to https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters you want to specify it similar to the following code example:

    $args = array( 	'orderby' => array( 'title' => 'DESC', 'menu_order' => 'ASC' ) ); $query = new WP_Query( $args );

This is supported from WordPress 4.0. 

For custom fields (post meta) you will need an added meta query, as detailed on https://make.wordpress.org/core/2015/03/30/query-improvements-in-wp-4-2-orderby-and-meta_query

E.g:

    $q = new WP_Query( array(
    'meta_query' => array(
        'relation' => 'AND',
        'state_clause' => array(
            'key' => 'state',
            'value' => 'Wisconsin',
        ),
        'city_clause' => array(
            'key' => 'city',
            'compare' => 'EXISTS',
        ), 
    ),
    'orderby' => 'city_clause',
    ) );

This is supported since 4.2.

In your case (edited from your question) I think you would need:

    $args = array(
        'post_type' => 'listing',
        'posts_per_page' => 10,
    	'paged' => $paged,
    	'tax_query' => array(
    		array(
    			'taxonomy' => 'listingcategory',
    			'field'    => 'slug',
    			'terms'    => 'commercial',
    		)
    	),
    	'meta_query' => array(
    		'relation' => 'AND',
    		'listing_date_clause' => array(
    			'key' => 'listing_date',
    			'compare' => 'EXISTS',
    		),
    		'agreed_date_clause' => array(
    			'key' => 'agreed_date',
    			'compare' => 'EXISTS',
    		), 
    	),
    	'orderby' => array(
    		'listing_date_clause' => 'DESC',
    		'agreed_date_clause' => 'DESC'
    	),      
    );