asumo que puedo elegir cualquiera hasta M7
Entonces elige uno de la serie STM32H7, tiene soporte hardware directo para todas las características que necesitas para esto, PLL fraccional independiente para generar velocidades de reloj SPI arbitrarias, y longitud de trama variable si necesitas relleno de bits, es decir, la longitud de trama no es necesariamente un múltiplo de 8 bits.
Cualquier otro STM32 puede hacerlo también, incluso los más pequeños, pero se necesitarían algunos trucos, como hacer un bucle de vuelta de una salida de temporizador externamente a la entrada de reloj SPI, ya que sólo tienen un simple preescalador de potencia de dos para la generación de reloj SPI.
¿Alguna forma mejor de conseguirlo con sólo un STM32?
No se me ocurre ninguna.
¿Cómo puedo generar relojes de 153,6 y 614,4 kHz para SPI Tx?
Experimenta con el configurador del árbol de relojes en STM32CubeMX para entender cómo funciona (más rápido que leyendo el manual de referencia), consigue que PLL2 o PLL3 emitan 0.1536*256=39.3216 MHz
y asignarlo al reloj SPI. Luego usa el preescalador en el periférico SPI para obtener 153.6 kHz (/256) o 614.4 kHz (/64).
Estoy bastante seguro de que se puede conseguir una coincidencia mejor jugando con los valores del divisor y el multiplicador.
¿Puede el esclavo SPI recibir cualquier reloj? ¿Como 614,4 kHz?
Cualquier reloj hasta el límite de la hoja de datos, que suele estar en el rango de las decenas de MHz. No hay límite inferior.