accessing parent variables in child construct without executing action in parent

I think your problem is the pattern. You should not create a child class of your controller (the main class), and the controller should not handle action callbacks.

Let the controller assign the callbacks to actions. The action handlers should be separate classes.

Basic example:

namespace WPSE;

add_action( 'plugins_loaded', function() {

    new Controller;
});

class Controller
{
    public function __construct()
    {
        $this->pluginVersion = '1.5';
        $this->pluginOptions = get_option('option_name',0);
        $gateway = new Gateway( $this->pluginVersion, $this->pluginOptions );

        add_action( 'choose_gateway', array ( $gateway, 'choose_gateway' ) );

        $cash = new Cash( $this->pluginVersion, $this->pluginOptions );
        add_action( 'get_cash', array ( $cash, 'get_cash' ) );
    }
}

class Action_Handler
{
    public function __construct( $version, $options ) {}
}

class Gateway extends Action_Handler
{

    public function choose_gateway() {}
}

class Cash extends Action_Handler
{
    public function get_cash() {}
}