Você não precisa de um MMU para memória RAM externa, o fator determinante para isso é um problema completamente separado da necessidade de mais espaço. Se você codificou diretamente para o metal, isso pode facilitar sua vida por não ter uma MMU. Eu também gostaria de observar que uma MMU praticamente nunca é um componente externo, mas sim no dado do SoC.
Você pode encontrar SoCs ARM em muitas famílias que permitem a memória externa do ARM7, por exemplo, a série NXP LPC2212 não dizendo o melhor, apenas o primeiro SoC ARM7 que surgiu no Google com uma interface de memória externa, existem muitas opções .
Eu prestaria mais atenção aos recursos dos vários núcleos nas famílias ARM, pois você pode encontrar quase todos eles nos SoCs com controladores de memória externos.
Agora, quanto ao tipo de memória que você precisa e como fazê-la funcionar, isso depende do SoC que você escolher e de qual memória o controlador de memória externo suporta. Por exemplo, o ARM7 SoC i linked suporta SRAM externa, bem como flash e roms e suporta até 4 bancos de 16 MB, para que você possa conectar flash externo e SRAM a ele ao mesmo tempo.
Você pode usar RAM separado e ICs flash. Existem também pacotes chamados MCP (Multi Chip Package) que podem incluir flash e ram em um pacote. Como você escolhe esses dispositivos depende de muitos fatores, você precisa ser mais específico sobre seu aplicativo.
A facilidade de conexão depende da velocidade que você precisa. A maioria dos controladores de memória externa possui taxas de clock programáveis. As taxas de clock da interface de memória podem ser muito altas, pelo menos, 10 MHz e provavelmente muito mais altas. Em suma, é muito provável que você não faça algo assim, você precisa projetar uma placa de circuito impresso e prestar atenção especial aos problemas de integridade de sinal dessas linhas.
Sua melhor aposta é escolher um núcleo com o qual você queira jogar e encontrar uma das muitas placas de desenvolvimento disponíveis com memória externa.