@blawen:
Nach Ablauf der gesetzlichen Aufbewahrungszeiten darf man das löschen. In manchen Fällen muss man das sogar danach löschen (siehe DSGVO).
@NoGAD:
Mir ist keine Möglichkeit bekannt, solche Lücken direkt zu finden, außer spezielle Funktionen der Datenbank, um gelöschte Datensätze zu selektieren. Wie blawen schon richtig schrieb, werden die in der Regel nicht wirklich gelöscht. Aber soweit ich weiß manche Datenbanken überschreiben diese Bereiche wieder. Somit ist das auch kein sicherer Weg, alle Lücken zu finden.
Wenn du wirklich so etwas benötigst, solltest du einen Trigger auf der
DB nutzen, der im Falle einer Löschung die wieder nutzbare Kundennummer in einer Tabelle speichert. Die erneute Nutzung erfordert dann aber auch eine Löschung dieser Nummer aus dieser Tabelle.