Puoi usare il metodo AddObject di ListBox.Items: tale metodo consente di aggiungere una stringa associando un oggetto ad essa, in modo simile ad un dizionario.

Ovviamente, nel nostro caso, lavorando in Win32 e avendo a che fare con un numero intero, non disponiamo di un oggetto ma di un tipo primitivo Integer, quindi occorre fare un cast del valore dell'ID per poterlo inserire nella ListBox.

Un esempio (non verificato)
codice:
ListBox.Items.AddObject(CompanyName, TObject(ID));
dove CompanyName e ID sono inizializzati al nome della società e all'ID univoco corrispondente, prelevati dal database.

P.S.: parere personale, non capisco questa smania di usare la ListBox quando esistono tanti Data Control che contengono, al loro interno, tutto ciò che stai sviluppando tu in questo momento, ma collaudati da quasi 10 anni di esperienza di Borland.