1) Используется ли gcc вообще при сборке initrd?
Используется.
2) Если используется, то важно ли то, что ядро собрано сильно более новой версией?
Нет.
3) Как правильно сделать initrd на моей машине заранее, если ответы на предыдущие вопросы «да»?
Так же как обычно. initrd по сути дела маленький rootfs для linux который существует для подгрузки модулей ядра и инициализации LVM или других менеджеров логических томов. Как только он завершает это делать он передает управление основной системе на rootfs.