::before on open/close function [closed]

Your shortcode return text. Wrap return into some HTML, like <div class="status_text"></div> and style this block.

add_shortcode( 'linestatus', 'line_status_handler' );
function line_status_handler( $atts ) {
    extract( shortcode_atts( array(
        'open_time'   => '09:00:00',
        'closed_time' => '17:00:00',
        'open_text'   => 'our lines are open',
        'closed_text' => 'our lines are closed',
    ), $atts ) );

    if ( time() >= strtotime( $open_time ) && time() <= strtotime( $closed_time ) ) {
        $output = "<div class="status_text status_open">$open_text</div>";
    } else {
        $output = "<div class="status_text status_closed">$closed_text</div>";
    }

    return $output;
}

Or add your pulsating dot to shortcode output.