Создать Custom Post Type
И создать шаблон к нему single-{post_type}.php
Home
Все зависит от задачи
Могут быть данные которые не относятся к постам и правильней хранить их в отдельной таблице
По сути тот же принцип плагинов, они создают таблицы для своих данные, после деактивации таблицы удаляются.
Да, конечно возможно.
Если Вы пишите тему с нуля, то это достаточно не сложно реализовать
Можно в админ панели вывести список кастомных разделов с чекбоксами. И написать функцию обработчик, в которой для каждого раздела определять на каких постах его выбрали
Это только 1 способ, из может быть много
По своему опыту легче либо переделать структуру, чтоб было меньше полей, если это возможно конечно.
Либо оставить 50 раздельных полей.
Объединять в 1 чревато проблемой, что при сохранении потеряются данные если лимит max_input_vars будет превышен.
На производительность, сильно 50 полей не повлияют