1. Как лучше организовать загрузку данных?
Ну либо через post-запрос, либо я в некоторых случаях гружу через web-сокеты, смотря как в данном случае удобнее.
2. Разбить на отдельные запросы к серверу или при добавлении фотографии дождаться загрузки и продолжить заполнение?
Да можно наверное сразу, я не вижу смысла разбивать, если бы видел суть опросника может подумал бы и по другому.
4. Использование Input с типом Hidden сейчас актуально или в 2017г. есть лучше способы для сохранение информации между промежуточными этапами общения с сервером?
Если это подходит для твоей реализации, то актуально)