Я думаю, что нет ничего плохого в итерации по массиву. Особенно если он не особо большой. Я думаю, что лучше оптимизировать для удобства чтения, чем прежде всего.
При этом вы можете использовать более эффективные структуры данных. Как объекты. Используйте идентификаторы в качестве ключей, а значения не имеют значения, если они правдивы. Например:
selectedOrders : { orderId1: true, orderId2: true }
И проверка выполняется быстро:
selectedOrders['orderId1']
Добавление и удаление ключей немного сложнее: Добавление:
selectedOrders: {...state.selectedOrders, [order]: true}
Удаление:
selectedOrders: state.selectedOrders.filter(o => o !== order)
Вы даже можете использовать Set, но я не знаю, поддерживается ли он, в частности, в состоянии Redux.