(My)SQL zu nutzen würde da natürlich am meisten Sinn machen.
Wenn du es aber ohne SQL machen willst, dann empfehle ich es aus Performancegründen so:
new numberFile[32];
format(numberFile, 32, "PhoneNumbers/%d.ini", number);
if(dini_Exists(numberFile))
{
return SendClientMessage(playerid, COLOR_GREY, "Fehler: Diese Nummer wird bereits genutzt.");
}
else
{
dini_Create(numberFile);
//Nummer vergeben
}
Sprich, du erstellst für jede existierende Nummer (sobald sie existiert) eine separate Datei im Ordner "PhoneNumbers".
In diese Datei kannst du dann auch Informationen zu dieser Nummer packen, zum Beispiel den Besitzer, das Guthaben, etc.
Den Besitzer würde ich auf jeden Fall eintragen, somit hast du immer die direkte Verbindung.
In die User-File des Besitzers schreibst du dann die Nummer rein, so kommst du immer von User zu Nummer und von Nummer zu User.

