1. Если уж выбирать, то лучше web
2. Отдельный контроллер не нужен. Я создаю в нужном мне контроллере новый action с окончанием "function ***Ajax()". Также добавь middleware который будет проверять это ли Ajax запрос (Request::ajax())
3. Да, лучше удалять с БД соответствующая запись, так как нет смысла сохранять статусы и тд