How to access data from a page on a form hook?
By default variables defined in one function aren't available in any other functions (see PHP: Variable scope), which is why your variable is undefined in the form function.

You can declare $variable as a global (see the link above) to make it available in both your functions:

function mymodule_page() {
    global $variable;
    $variable = $_GET['variable'];
    return theme('mymodule_page', array(
       'form' =&gt; drupal_get_form('mymodule_page_form'),
       'variable' =&gt; $variable
    ));
}
function mymodule_page_form(){
    global $variable;
    var_dump($variable);
}


But to be honest there's no good reason why $_GET would be empty when it reaches your form function, so it might be worth seeing if you can find out why that's happening.