1) имхо, лучше отвязывать данные от представления. так что данные с сервера приходят в чистом виде, а браузер уже отрисовывает таблицу
2) надо изучать новые инструменты ) см.ниже
3) из базы данных конечно, хотя из файла тоже можно
4) есть много решений. какие-то лучше, какие-то хуже. я думаю стоит изучать имеющиеся, чтобы делать осознанный выбор
5) накатал пример, спешал фор ю ))
https://codepen.io/coderisimo/pen/QRNgxz?editors=1010
Обрати внимание, что для отрисовки таблицы по массиву данных вообще ничего писать не надо. Код получается очень лаконичный. Добавить столбец дело 10 секунд. Большая часть js написана для замены одного набора данных на другой. Можно вообще написать метод который будет получать массив анализировать его и сам делать нужное кол-во столбцов.
В общем, vue.js полезный и не слишком сложный инструмент для решения многих задач.