Sim, existe, mas para fazer isso corretamente, é necessário um jailbreak (legal, anula a garantia) e uma possível quebra dos Termos de Serviço do Google Maps.
O cache pode ser usado até um certo ponto: o aplicativo Google Maps usa seu cache offline, para que os mosaicos fiquem visíveis e o mapa possa ser panorâmico (se ele foi panorâmico enquanto estava online e poderia buscar blocos vizinhos). As direções são mantidas na exibição de lista, mesmo que você não possa segui-las todas na exibição de mapa.
Se você quiser mais do que isso, ele não será incorporado por padrão. Se você fizer o jailbreak, poderá hacká-lo para ter um cache muito maior que suporte centenas de MB de conteúdo, incluindo níveis de zoom etc.
Configurá-lo seria um hack significativo e contra os Termos de Serviço do Google Maps. Quando on-line, você precisa capturar seus próprios pacotes do iPhone, detectar os que envolvem o Google Maps e criar um cache. Quando estiver offline, você desejará redirecionar todas as solicitações para os servidores do Google Maps para um servidor HTTP local em execução no iPhone e, em seguida, servir os blocos.
Vi isso feito com um computador que estava frequentemente offline, mas não com um iPhone, mas deve funcionar bem. Você também pode adicionar camadas de mosaico personalizadas dessa maneira, se desejar.