Ciao, una soluzione alternativa al border può essere outline.
La proprietà outline non influisce sulle dimensioni effettive dell'elemento ma ha alcuni limiti, ad esempio non puoi impostare differenti dimensioni per ciascun lato. Nel tuo caso, in base al tuo esempio, potrebbe comunque andare bene.
Prova quindi a sostituire border con outline. Per maggiori dettagli vedi la documentazione online.
Prova e fai sapere se una soluzione del genere può andare bene.
Buon proseguimento.
EDIT:
Eventualmente, se la posizione degli elementi è già stata calcolata per avere come base 2px di bordo, puoi applicare ulteriori 2px di outline solo per .selected, impostando gli stessi valori del border.
Fai qualche prova e fai sapere.