I think this would be possible with a plugin. Take a look at process plugins here. You should use the init_page() function, with something along the lines of:
function init_page()
{
$request = qa_request();
if ($request == 'login' || $request == 'register')
return;
$userid = qa_get_logged_in_userid();
if ($userid !== null)
return;
// here the user is not logged in, and it's not the register/login page
// do something here to output a different page
// quit here to avoid Q2A outputting the regular page
qa_exit();
}
It's a little bit hacky but it should work.