А зачем его сравнивать? Формируй запрос к базе на основе текущего времени и всё.
Типа того:
select * from Dates where Date > "текущая дата минус сколько надо"
А не проще сразу в базе сохранять время и просто выбирать нужные записи одним запросом? Так и на миллионах тупить не будет.
Куда уж подробнее. При вбиве номера в скрипт формы, он создает ежедневную задачу на выполнение скрипта, который будет отправлять смс. Отдельно создается задача на выполнение другого скрипта, который будет проверять список задач(допустим раз в час) и удалять те, которые уже отработали свое. По времени там или по счетчику. За кодом к прогерам.
Тогда на каждого по задаче в цикл плюс одну общую, снимать по истечении срока давности.
Сообщение отправляется для всех пользователей одновременно? Или в то время, когда каждый из них добавил телефон?
А чем ВПС не устраивает? Сейчас куча фришных панелей управления, а ценник за диск по сравнению с любым хостингом - небо и земля.
grep MHz /proc/cpuinfo на минимальном тарифе покажите пожалуйста