Ja. Im Idealfall brauchst du nur den neuen Source-Tarball herunterladen und nach ~/rpmbuild/SOURCES schieben und die Version im Specfile entsprechend ändern.
Kann man ggf. auch Source-RPMs von anderen Distributionen verwenden, die rpm verwenden? (Fedora, Mandriva etc.)?
Prinzipiell ja, sogar binary RPMs. Der Aufbau/das Format der Pakete ist bei jeder (RPM-basierten) Distribution gleich.
Das Problem ist halt z.B., dass manche System-Pakete bei unterschiedlichen Distributionen anders heißen, das kann zu Problemen mit den Abhängigkeiten führen. Außerdem beinhalten unterschiedliche Distributionen auch unterschiedliche Versionen von Paketen, was natürlich auch wieder problematisch sein kann.
Auch die Pfade, wo bestimmte Sachen hininstalliert werden müssen, können sich unterscheiden, usw.
Ein Source-RPM kannst du übrigens direkt mit “rpmbuild --rebuild xxx.src.rpm” bauen, falls keine Änderungen notwendig sind.
“Installieren” kannst du es genauso wie ein Binär-RPM mit “rpm -i xxx.src.rpm” z.B., dabei werden die Sourcen und Patches nach ~/rpmbuild/SOURCES/ und das Spec-File nach ~/rpmbuild/SPECS/ kopiert (bzw. /usr/src/packages/(SOURCES|SPECS)/ wenn du es als root ausführst).
Kleiner Tipp am Rande: RPM Files sind eigtl. nur stinknormale (CPIO) Archive, du kannst sie also auch z.B. mit ark oder file-roller öffnen um den Inhalt zu betrachten. 
Ein eigenes openSUSE Repository zu pflegen wäre auf jeden Fall auch interessant.
Wenn du Pakete am OBS baust, wird automatisch ein Repository angelegt. Jeder Benutzer hat automatisch ein home:username repo, und kann beliebig viele Unterprojekte (=Repos) anlegen.
Z.B.:
http://download.opensuse.org/repositories/home:/wolfi323/
http://download.opensuse.org/repositories/home:/wolfi323:/branches:/KDE:/Current/
Der nächste Schritt wäre dann, offizielle openSUSE Pakete aus den Factory-Development repos zu branchen, Änderungen durchzuführen/Fehler zu beheben/auf die neueste Version upzudaten, und dann in das entsprechende Repo zurückzusubmitten… 