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;