Я никогда не использую user_id в моей базе данных. Хотя это, скорее всего, int (5) - то есть быстрее, наличие двух идентификаторов просто сбивает с толку, и вы можете столкнуться с такими проблемами.
В моем опыте разработки приложений для Facebook (около полутора лет) у меня никогда не было проблем с использованием оператора IN, запросы всегда были быстрыми. Если у вас хорошая архитектура базы данных и хороший PHP-код, у вас все будет хорошо. Это просто список лидеров или что-то подобное.
Вы также можете загрузить эту информацию с помощью вызова AJAX, чтобы пользователи никогда не испытывали задержек из-за длинных запросов SQL.
Другим вариантом является сохранение этих друзей для каждого пользователя в таблице поиска, которую вы обновляете каждый раз, но она может быть немного неточной, и я думаю, что для этого слишком много усилий.