1. Это ты должен решить, но как правило требуется. А может, приложение и сервер работают друг с другом по закрытому каналу, во внутренней сети, тогда и не обязательно. В любом случае вопрос не к нам.
2. Нет. API, конечно, можно сделать и на сессиях, но за такое по рукам бьют. Для аутентификации/авторизации при взаимодействии «клиент-сервер», «сервер-сервер» подходит OAuth2, в ларавел есть готовый пакет — Passport.
Механизм автоматической верификации мыла срабатывает на событие Illuminate\Auth\Events\Registered, а автор в комментариях признался, что пытается его триггернуть вызовом Customer::create(). Почему? Загадка.
До конца непонятно, что автор понимает под словом «компонент», но, вероятно, ему хватит и возможностей сервис-контейнера, про который он пойдёт и прочитает в документации. А на закуску можно почитать про Package Development.
Системы плагинов, как в разных CMS, в ларавел нет, потому что это не CMS. Каждый волен изобрести своё, опираясь на описанные выше возможности.