Hola, un poco tarde pero..
Nunca habia usado el widget autocomplete de jQuery UI pero he deducido una cosilla a partir de los datos que da Firebug.
Parece ser que si usas una función (por tanto no un array) con el autocomplete de jQuery UI debes filtrar tu mismo el resultado.
Luego me he leído un poco de su api y parece es así..
Function: The third variation, a callback, provides the most flexibility and can be used to connect any data source to Autocomplete. The callback gets two arguments:
- A request object, with a single term property, which refers to the value currently in the text input. For example, if the user enters "new yo" in a city field, the Autocomplete term will equal "new yo".
- A response callback, which expects a single argument: the data to suggest to the user. This data should be filtered based on the provided term, and can be in any of the formats described above for simple local data. It's important when providing a custom source callback to handle errors during the request. You must always call the response callback even if you encounter an error. This ensures that the widget always has the correct state.
Por tanto, deduzco que deberías crear tu propia función de autocompletado o en su defecto pasar el json a un array normal que el autocomplete de jQuery UI pueda tratar solito xD.
Saludos