Il punto fondamentale di un identificativo e' che deve essere univoco, quindi se il nome dell'azienda in se' non lo e', devi renderlo tale. Inoltre se vuoi i "pretty URL" dovresti lavorare sull'intero indirizzo tramite URL rewrite eliminando quindi la query string, passando cioe' da:
a qualcosa come:
Se vuoi fare in modo che il nome venga mostrato nell'URL la cosa migliore da fare e' creare una versione del nome "URL friendly", cioe' - ad esempio - sostituire spazi con trattini, usare solo minuscole, eliminare apostrofi e via dicendo. Inoltre per renderlo univoco puoi unire id e nome, ad esempio se hai un'azienda che si chiama "Trasporti Fias" e ha id 143:codice:www.example.com/aziende/id
in questo modo l'azienda viene identificata solo dall'id e il resto appare solo per comodita' visiva.
Alternativamente all'atto dell'inserimento di un'azienda nel database, oltre al nome puoi registrare anche uno stub (la versione del nome adattata per URL) avendo cura di renderlo unico (quindi se c'e' un'atra azienda con lo stesso nome fai in modo di differenziare il secondo stub aggiungendo un numero o altro identificativo univoco).
Personalmente scarterei la soluzione con le sessioni, perche' sostanzialmente vanifica l'idea di URL: la risorsa non sarebbe direttamente raggiungibile se non hai gia' visitato un'altra pagina che ha settato la sessione, il che rende il sistema abbastanza inutile.