NSUserDefaults предназначен для небольшого количества состояния приложения и / или предпочтений.
SQLite - это хорошо, но может быть излишним, если вы не используете какие-либо функции СУБД. Внутренне, Core Data использует SQLite. Если вам не интересен объектный граф, то Core Data невероятно избыточен (и имеет массу накладных расходов).
XML предназначен для хранения произвольно структурированных данных. Есть ли какая-то внутренняя структура ваших данных или это просто список из 500 строк? Если структуры нет, то XML является излишним, и вам нужно его проанализировать, что означает нетривиальный объем кода.
Еще две опции, которые вы не упомянули: plist и NSKeyedArchiver. Я оставлю это вам, чтобы прочитать о них.
Лично я бы пошел с текстовым файлом, но при условии, что вы не предоставили достаточно информации о природе данных или о том, что вы собираетесь с ними делать.