Si la FRAM permite escritura continua, y lo hará seguro, solo tienes que enviar Start + slave address + address h + address l una vez, luego le envías el paquete de bytes entero de forma contínua y el chip los irá metiendo en orden secuencial a partir de la dirección indicada.
En función de como sea la aplicación, yo barajaría la posibilidad de hacer un buffer en RAM y cuando esté lleno volcarlo en la FRAM entero en modo continuo:
start, slave address, address_h, address_l, byte1, byte2, byte3, byte4, byte5, byte6,................etc,etc,etc, stop.
Solo hay que tener en cuenta leer el ACK al final de cada byte, lo que sería solo un bit de más por cada byte.
Así se van grabando en orden todo lo que le mandes.
Incluso sin buffer. El I2C no tiene timeout, por lo que puedes abrir la "veda" de escritura secuencial y le vas enviado los bytes cuando te vengan en gana. Hasta que no envíes la condicion de stop aquello no cambia. " Consulta no obstante el datasheet" por si acaso esa memoria si tuviese restricciones de tiempos máximos.
Si no es viable así, la única forma de subir el clock es por SPI como ya sugiere ElreyPic