Есть ли в Laravel какие-то методы для динамического добавления полей в модель/сущность на основе MySQL?
Вы придумали проблему там где её нет, потому что объединили две несвязанные задачи.
Добавление и прочие изменения можно подсмотреть в миграциях, есть готовый компонент \Illuminate\Database\Schema\Builder
После этого поле ничем не отличается от остальных. Это не Doctrine, где поля надо явно прописывать.

Вторая задача это работа админки, она никак не связана с путём появления поля в модели. Та же простейшая динамическая сортировка или фильтрация делается в лоб. 
Допустим в урле приходит 
?filterBy=fieldName&filterValue=value&filteOperation=%3D
в контроллере
$model->where($request->get('filterBy'), urldecode($request->get('filterOperation')), $request->get('filterValue'));
И не важно как вы добавили колонку и есть ли она вообще в базе, Eloquent не проверяет этого.
Но не забывайте про безопасность.
Может лучше использовать META поля. Как-бы добавил поле и есть, не добавил и нет. Описанный способ мазохизм. Мета поля можно добавлять в модель при выводе и итог будет такой как надо.