Is it correct to dynamically add rows to a table in sqlite, or should I use csv? (I'm working with objective c.)
They just properly normalize their database so that it is possible to store an arbitrary number of numbers; something like this:

CREATE TABLE Contacts (
    ContactID INTEGER PRIMARY KEY,
    Name TEXT
);
CREATE TABLE PhoneNumbers (
    ContactID INTEGER REFERENCES Contacts(ContactID),
    Number TEXT
);