Mi autorispondo.
Innanzitutto ho scritto una funzione javascript cui, passando un ID separato da uno spazio, ritorna l'ID
In pratica il json spara fuori stringhe del tipo

11123-SPAZIO-blablabla
Cerco il primo spazio e, se lo trovo, ritorno la stringa fino a quel punto

codice:
function prendiID(i_stringa)
{
  var posizioneSpazio=i_stringa.indexOf(" ");
  if (posizioneSpazio===-1) {
     return 0;
  }			
  return i_stringa.substring(0,posizioneSpazio);
}
Per quanto riguarda l'altro problema, ovvero popolare un campo textbox (che poi verrà "trasformato" al submit in un parametro POST per uno script PHP), ho fatto così.
In sostanza all'evento onclick (quando l'utente sceglie dalla listbox una riga) "spacchetto" la stringa con la funzione precedente e setto il relativo textbox

codice:
$('#autocomplete').on('click','li',function(){
  document.getElementById('ditta').value = prendiID($(this).text());
  $('#autocomplete').empty();
  $('input[data-type="search"]').val($(this).text())
})
Non so se è il metodo più elegante, ma bene o male mi sono arrabattato