Autocomplete will send data character by character after the minLength. So if minLength: 2, the first data transmit will be 2 characters, and after that it is 1 character at a time after the user types it. Your query will process that expanding term, something like -
$fetch = mysql_query("SELECT DISTINCT stateNameInEnglish, stateAbbreviation FROM locations.countriesandstates
WHERE countryAbbreviation='$country'
AND stateNameInEnglish LIKE '". mysql_real_escape_string($_POST['term']) ."%'
LIMIT 0,5");
In remote mode, Autocomplete receives only JSON. Your server has to take the database response and construct JSON with label and value (or just value - look at the documentation). Label is the text the user sees in the dropdown selection. Value is the value you want to set, and store after the user selects. They can be different - like a selection of Bill Smith sets the value to William Smith, etc.
Take a look at the documentation, and at this tutorial which has server code in several languages.
http://www.jensbits.com/2010/03/29/jquery-ui-autocomplete-widget-with-php-and-mysql/
If you have trouble, come back and post the relevant code.
Oh, and stop worrying about 1100 items. Its a trivially small amount. Performance will be fine, when you get the code working. But realize lots of things in lots of places have to be just right.