Prova a fare un test, ma credo sia più veloce avere gli elementi in una lista ed utilizzare Spinner.AddAll(lista) dopo aver alterato la lista nel senso che ti occorre.
Vale anche per array, non solo lista.
L'aspetto negativo è che occupi il doppio della memoria (gli elementi saranno presenti sia nella lista che nello spinner); quello positivo è che potrai passare l'elenco da un'attività all'altra, memorizzarlo in caso di rotazione dello schermo oppure uscita dal programma, etc.