Я отвечу на ваш первый вопрос.
Вы можете хранить данные в объектах JavaScript (например, вместо баз данных SQL). Эти объекты JavaScript могут быть сохранены в файлах .js или встроены как часть HTML-документа. Вы можете взглянуть на исходный код моего w3viewer.com. Все данные хранятся в массиве JavaScript.
На примере моего веб-сайта я динамически создаю списки HTML с данными, взятыми из этого объекта JavaScript (я генерирую строку кода HTML). Можно использовать шаблоны для выполнения этой работы.