Динамически файл манифеста подключить можно (чтобы работало) только используя iframe, но этот способ нельзя сочетать с обычным кэшированием из-за бага FF.
У себя использую Application Cache для браузеров Opera, Safari и Chrome, а для остальных обычную предзагрузку элементов при помощи JS.
Пример перзагрузки изображений на JS:
function PreLoad(image) {
if (!(image in preload)) {
preload[image] = new Image();
preload[image].src = 'images/'+image;
}
}