Can’t add text in front of shortcode

Here’s your updated shortcode function which puts output in a variable and returns it. Note that you have to use functions that return data rather than output directly, in this case get_the_post_thumbnail() is used in place of the_post_thumbnail()

function cor_etalage_add_shortcode() {
    $output="<div id="etalage"><ul>";

    $the_query = new WP_Query(array(
        'post_type' => array(
            'portfolio'
        )
    ));

    while ($the_query->have_posts()) : $the_query->the_post();
        $output .= '<li>'. get_the_post_thumbnail($post->ID,'etalage') .'</li>';
    endwhile;
    wp_reset_postdata();
    $output .= '</ul></div>';

    return $output;
}
add_shortcode('etalage', 'cor_etalage_add_shortcode');

EDIT oops, forgot to pass the post ID with get_the_post_thumbnail, updated.