Если я буду использовать VK API для получения ID, ФИО и картинки пользователя, то мне надо их хранить у себя в базе, чтобы этот пользователь мог использовать сервис?
Нет. Храните только ID. Для отображения данных по пользователю запрашивайте картинку и ФИО динамически из интерфейса, прямо из браузера посетителя.
Смогу ли они найти друг друга через поиск по сайту, если данные, полученные через VK API не хранить на сайте?
Смотря, по каким признакам искать. По «направлениям деятельности» – смогут. Получат набор id ВК, отобразят их аватарки, ФИО и ссылки на профили.
Вроде бы всё просто. Заходит чел. на сайт. Жмет кнопку «Войти через ВК». Ваш сервер убеждается, что зашел чел с таким-то id ВК. Создаёте у себя в БД запись с этим id или обновляете дату последнего визита. Выбранные посетителем «направления» сохраняете у себя в БД в таблице
id, id-vk, id_naprav
(или можно обойтись двумя колонками, без просто-id, объявив primary index двухколоночным).
Поиск идёт только по интересам: нужны все записи, где
id_naprav
один из списка. Собрали
id_vk
, удовлетворяющие критерию. Отдали в интерфейс. Там запросили из ВК по этим id аватарки и ФИО, показали.