Зачем вам постоянно висящий в памяти сервис, если он нужен только когда поступил звонок от определённого номера? Вы читали то, что я написал в первом сообщении (особенно про BroadcastReceiver)?
Сразу говорю, что готовый код на Delphi/С++, с вероятностью 99% - вы не найдёте, только на Java (на стеке например).
Раз у вас проблема именно с определением номера, то значит вы уже подписались на событие звонка и уже сделали сервис(?). Тогда давайте ваш код или покажите, какие данные приходят в сервис, а мы уже попробуем вам помочь.
p.s. Я бы сделал так, подписался через BroadcastReceiver на событие, как только событие происходит, проверяю номер и далее уже запускаю сервис, что-то делаю в нём, завершаю работу сервиса. ИЛИ событие происходит, запускаю сервис, в нём проверяю номер и т.д. Тут либо экспериментировать, либо найти готовое решение или описание решения на Java и транслировать на Delphi.
Пара ссылок:
[Android Service] Создание простейшего Сервиса (службы)
[BroadcastReceiver] Автозапуск приложения после перезагрузки ОС
[Android Service+BroadcastReceiver] Автозапуск службы после рестарта ОС