To też nie jest tak do końca, ale tutaj to już jest bardziej zaawansowany temat. Mówiąc o zmiennej instancji, mam na myśli pole obiektu (bo takiej terminologii się też używa w innych językach/technologiach obiektowych)
Dokładnie tak samo jak to zrobiłeś, czyli używając attr_reader, attr_writer, attr_accessor lub zmiennej z @. Tylko z zastrzeżeniem, że ta nazwa nie jest kolumną w bazie danych. Może to być np. zmienna wyliczona na podstawie wartości wyciągniętych z bazy, do której chciałbyś mieć dostęp poza obiektem.
Zasadniczo doświadczenie, ale trochę teorii też się przydaje. Akurat Twój problem niekoniecznie musi mieć cokolwiek wspólnego z railsami. Powiedziałbym, że to jest ogólnie zagadnienie programowania obiektowego.