Иконка - это то, что видит пользователь на своём телефоне. Например в списке приложений или на рабочих столах.
Для android и ios эта иконка нужна в нескольких размерах. Заказчик вам прислал списки этих размеров.
1) Нужно, если в этом есть необходимость. Базы данных используют, если нужно хранить большое количество данных.
2) Это наверняка описано в документации
Это не библиотека, а список библиотек.
Нужно перейти по ссылке нужной библиотеки и почитать её описание. В большинстве случаев есть инструкция по установке, которая почти всегда выглядит, как прописывание одной строки в gradle.
Можно в drawable хранить несколько размеров каждого изображения. Нужное будет автоматически подбираться в зависимости от размера дисплея.
В документации это хорошо описано.