Creo que deberías proporcionar el código de como deseas guardar y leer ese buffer de 400 bytes. De esa manera se puede sugerir algún cambio o corregir algo.
También, compartir el código de búsqueda,
Para guardar, lo básico es cada número de 32, descomponerlo en 4 bytes, e ir guardando esos 4 bytes en la RAM, y así sucesivamente.
Cuando tengas listo esos 400 bytes, calculas el CRC y agregas esos dos bytes (si es CRC de 16 bits) adicionales en el buffer de la RAM, y ahí procedes a guardar en la EEPROM.
La lectura es lo inverso.
Respecto a la búsqueda, una vez que tengas un arreglo en la RAM de 100 posiciones (de números de tipo uint32_t), podrías hacer un simple bucle for o similar para buscar el número deseado.
Al estar trabajando en la RAM, no creo que tome mucho tiempo, en el peor de los casos, el número buscado estará en la última posición.
La pregunta es ¿Por qué necesitas encontrarlo lo más rápido posible? ¿Cuánto tiempo es rápido o lento para ti?