Можно ли отключить пересоздание или как-то по-другому реализовать выбор?
На данный момент при нажатии появляется/убирается рамка у изображений, а также происходит удаление/добавление в массив
Кароч, смотри. Ты в адаптер передаешь данные, которые надо отобразить.
Это такие вью модельки по сути. Они отражают состояние каждого элемента в ресайклер вью.
При нажатии на элемент, тебе надо изменить отображаемые данные, затем попросить ресайклер вью перерисоваться с помощью notifyDatasetCahnged из адаптера. А лучше с помощью DiffUtils.
В итоге при биндинге вьюхолдера в адаптере у тебя адаптер должен учитывать в том числе флажок, который ты добавишь в эти данные. К примеру, пусть называется isColored = true/false.