Способов сохранить инфу на клиенте довольно много:
1) WebStorage (до 5-ти мб по умолчанию);
2) FileApi;
3) IndexedDB;
4) Использовать Cache API;
5) Flash/Silverllight/Java/ActiveX storage.
6) Самый унылый способ - куки.
Тебе нужно сделать прокси над аяксом, которая определяет куда идёт запрос: на серв или в локальную базу, для организации работы с данными можно заюзать например:
http://www.collection-js.com/ (на правах рекламы

), он уже поддерживает WebStorage, но скоро я добавлю туда альтернативные хранилища (ща в отпуске и есть время на разработку

)