Can I load the textdomain before a plugin is activated?

Your check of the php version is not in a separate function. That’s the point that you not have the control about the order of the flow of this functions.

The follow example source should get more clarity about the stack.
The order is depend on the hooks in the plugintest_init function. You can also use the same hook and a different priority, the third parameter for add_action.

add_action( 'plugins_loaded', 'plugintest_init' );

function plugintest_init() {

    add_action( 'init', 'plugintest_load_plugin_textdomain' );
    add_action( 'admin_init', 'plugintest_check_php_version' );
}

function plugintest_load_plugin_textdomain() {

    // ...
}

function plugintest_check_php_version() {

    // ...
}

As another hint, the source is quite simple. A class, OOP code is much better for the structure and use. but in your context of the question is it maybe easier to understand.