modifying the loop multiple times with arguments passed through ajax to wp_query

You can use wp_localize_script to save your current query to JS variable. Then you should send it using ajax and modify it and send it back to have access to it in the future.

global $wp_query;
wp_localize_script( 'ajax-pagination', 'ajaxpagination', array(
    'ajaxurl' => admin_url( 'admin-ajax.php' ),
    'query_vars' => json_encode( $wp_query->query )
));

This article should help you handle the issue. Especially part with query_vars there is quite good explanation.