To remove the textbox and replace it with a drop down, edit user-timezones.php, replace the function extra_profile_info with:
function extra_profile_info( $user_id ) {
$user_offset = $this->get_user_offset( $user_id );
$timezones = array(-12 => 'Baker Island Time',-11 => 'Niue Time, Samoa Standard Time',-10 => 'Hawaii-Aleutian Standard Time, Cook Island Time',-9.5 => 'Marquesas Islands Time',-9 => 'Alaska Standard Time, Gambier Island Time',-8 => 'Pacific Standard Time',-7 => 'Mountain Standard Time',-6 => 'Central Standard Time',-5 => 'Eastern Standard Time',-4 => 'Atlantic Standard Time',-3.5 => 'Newfoundland Standard Time',-3 => 'Amazon Standard Time, Central Greenland Time',-2 => 'Fernando de Noronha Time, South Georgia & the South Sandwich Islands Time',-1 => 'Azores Standard Time, Cape Verde Time, Eastern Greenland Time',0 => 'Western European Time, Greenwich Mean Time',1 => 'Central European Time, West African Time',2 => 'Eastern European Time, Central African Time',3 => 'Moscow Standard Time, Eastern African Time',3.5 => 'Iran Standard Time',4 => 'Gulf Standard Time, Samara Standard Time',4.5 => 'Afghanistan Time',5 => 'Pakistan Standard Time, Yekaterinburg Standard Time',5.5 => 'Indian Standard Time, Sri Lanka Time',5.75 => 'Nepal Time',6 => 'Bangladesh Time, Bhutan Time, Novosibirsk Standard Time',6.5 => 'Cocos Islands Time, Myanmar Time',7 => 'Indochina Time, Krasnoyarsk Standard Time',8 => 'Chinese Standard Time, Australian Western Standard Time, Irkutsk Standard Time',8.75 => 'Southeastern Western Australia Standard Time',9 => 'Japan Standard Time, Korea Standard Time, Chita Standard Time',9.5 => 'Australian Central Standard Time',10 => 'Australian Eastern Standard Time, Vladivostok Standard Time',10.5 => 'Lord Howe Standard Time',11 => 'Solomon Island Time, Magadan Standard Time',11.5 => 'Norfolk Island Time',12 => 'New Zealand Time, Fiji Time, Kamchatka Standard Time',12.75 => 'Chatham Islands Time',13 => 'Tonga Time, Phoenix Islands Time',14 => 'Line Island Time');
?>
<table>
<tr>
<th scope="row"><label for="time_offset">Time Zone:</label></th>
<td>
<select name="time_offset" id="time_offset">
<? foreach($timezones as $offset => $timezone):?>
<option value="<?=$offset;?>" <?=($user_offset==$offset)?"selected='selected'":'';?>>
<?php
if($offset>0) {
$utc = "[UTC + $offset]";
} else {
$utc = "[UTC - ".($offset*-1)."]";
}
echo "$utc $timezone";
?>
</option>
<? endforeach;?>
</select>
</td>
</tr>
</table>
<?php
}