Możesz zrobić jednowymiarową tablicę zero - jedynkową, dany indeks odpowiada danemu przedmiotowi.
Jak przedmiot się pojawi to stawiasz jedynkę, jak jeszcze go nie było - jest zero.
Masz zmienną wiedzącą ile przedmiotów zostało (prosty liczący repeat, while, itp), i na podstawie tego losujesz liczbę "n".
Potem algorytm idzie "n" kroków po tablicy omijając jedynki (w sensie, nie odejmuje "n" gdy trafi na jedynkę). Wybierasz przedmiot na którym stanie......
I od nowa.
Nie wiem czy to najlepszy algorytm, ale przydał mi się parę razy. :D
EDIT: możesz drugi indeks tablicy poświęcić na wskaźniki na przedmioty, by wyszukiwanie było szybsze