Чтобы обернуть каждый элемент, нужно вызвать insertAdjacentHTML
для каждого элемента.
Возможно. Но это сложнее делать, манимулируя элементами из DOM. Намного проще как я советовал в предыдущей теме - имея массив данных в памяти. Тогда генерация желаемой разметки сводится к итерации по массиву.