Two loops on archive page

From your question it is not clear which posts you want to select precisely. In any case, you clearly want to display different posts than are normally presented on the archive page. This means you will need to make a different selection in your template, using wp_query. The trick is to select the right arguments.

First, for use later on, we need to retrieve the ID of the archive from the main archive loop. This will return the category ID on a category archive page (or the tag ID on a tage archive page, and so on)

$cat_id = $wp_query->get_queried_object_id()

Now, we can build the right arguments to select the two first entries in this category, and show them in a separate loop, like this:

$args = array (
  'cat'            => $cat_id,
  'posts_per_page' => 2,
  ) 

$the_query = new WP_Query ($args);
if ($the_query->have_posts()) {
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        // display stuff
        }
    wp_reset_postdata(); // restore the original archive loop
    }

If you want to select all posts, regardless of category, on this category archive page, you would repeat the above, but leave the ‘cat’ line in $args out.