Ciao, non sono un espertissimo ma in attesa di risposte di persone pi� esperte avanzo delle possibili soluzioni:

1) Una volta che hai recuperato il colore che ti serve potresti eliminarlo dalla lista iniziale. Per far ci� ti rimando alla guida dei metodi degli array https://www.w3schools.com/js/js_array_methods.asp. Ad un certo punto, eliminando ogni volta il colore scelto, ti ritroverai senza pi� item (i vari colori) nella tua lista quindi dovrai ripopolarla.

2) Potresti, invece di eliminarli nasconderli (con hide):
codice:
$('.elemento').click(function() {
        var elemento = $(this).text()
        var selezione = $('#colore_selezionato').html()
        
        
        //sostituisco con l'elemento selezionato
        $('#colore_selezionato').html(elemento)
        
        $(this).hide();


        //chiudo la finestra
        $('#overlay').fadeOut('fast');
        $('#box').hide();        
    });
3) Potresti renderlo non cliccabile ma visibile nella lista (magari dandogli del css per distinguerlo dagli altri). Potresti toglierli la classe elemento e dargliene un'altra (vedi addClass, removeClass) cosi non avendo pi� la classe specificata non esegue pi� il codice specificato.

Non li ho provati quindi ti consiglio di provarli tu stesso per vedere se fanno al caso tuo.

PS: tu metti l'oggetto in una variabile
codice:
var selezione = $('#colore_selezionato').html()
ma al momento di usarlo richiami di nuovo l'oggetto
codice:
 $('#colore_selezionato').html(elemento)
Dovresti invece
codice:
 $(selezione).html(elemento);