How do I add a dropdown list of numbers 1 – 1000 as an extra profile field?

you can save the 1000 conditional checks by using str_replace and your code would be much more efficient, something like this:

//create the select options
$options="";
for($i=1;$i<=1000;$i++) {
    $options.=  '<option value="'.$i.'">'.$i.'</option>';
}

//get the saved data
$saved = get_the_author_meta( 'number_pick', $user->ID );
$saved = (!empty($saved))? $saved: false;
if ($saved)
    //if there is a saved data set the option to selected
    $options = str_replace('value="'.$saved.'"','value="'.$saved.'" selected="selected"',$options);
//echo out the options
echo $options;