1. Где вам удобнее. Аннотации это всего лишь один из способов хранения конфигурации.
2. От ситуации. Формам нужна не сущность, а какой-нибудь клас (и то, необязательно), чтобы заммапить данные. И здесь также, как вам удобнее. Например форму для удаления, смело в контроллер, для редактирования в отдельный класс, которую можно переиспользовать.
3. Холивара вопрос. Видел людей с пеной у рта доказывающих, что всё нужно прописывать в типах, и других, у которых формы с суммарным количеством полей переваливало за 300, где прописаны только поля... Тут также всё от ситуации. Если эта форма будет переиспользоваться, будут разные группы валидации, обработчики будет разные, то имеет смысл оставлять их минимально нагруженными и выносить всё, и наоборот, если форма крайне специфичная, то лучше не размазывать по приложению работу с онной.