How to call a widget in a loop at a specific iteration value?

You can check what iteration you’re on inside the main loop with $wp_query->current_post

while( have_posts() ){
    the_post();

    the_title();

    // count starts at zero, so after 1 will be after 2nd post
    if( 1 == $wp_query->current_post ){
        the_widget( 'WP_Widget_Recent_Posts' );
    }

}

Edit

Regarding your comment about capturing widget output, you can try PHP output buffering:

ob_start();
the_widget( 'WP_Widget_Recent_Posts' );
$widget_output = ob_get_clean();