Admin Posts List (edit.php) by post IDs

It can be achieved using pre_get_posts.

It is important to prefix all your variable names, id seems not be in the reserved terms list, but anyway this practice avoids any unforeseen bug.

/**
 * Usage:
 * http://example.com/wp-admin/edit.php?my_pids=4088,4090,4092,4094
 */
add_filter( 'pre_get_posts', 'limit_post_list_wpse_96418' );

function limit_post_list_wpse_96418( $query ) 
{
    // Don't run on frontend
    if( !is_admin() )
        return $query;

    global $pagenow;

    // Restrict to Edit page
    if( 'edit.php' !== $pagenow )
        return $query;

    // Check for our filter
    if( !isset( $_GET['my_pids'] ) )
        return $query;

    // Finally, filter
    $limit_posts = explode( ',', $_GET['my_pids'] ); // Convert comma delimited to array    
    $query->set( 'post__in', $limit_posts );      

    return $query;
}