Per quanto riguarda il disegno di questo "righello" da un lato, gli approcci possono essere svariati, 3 che me ne vengono in mente:
1) Si sfruttano i layout manager, in pratica si fa in modo che in una area ci sia un pannellino che disegna solo questo righello e a fianco un altro pannello che contiene il resto.
Una idea banale potrebbe essere BorderLayout: in WEST il righello e in CENTER il pannello che contiene il resto. Ma non è l'unica possibilità ovviamente.
2) Si realizza un Border (implementazione di javax.swing.border.Border e in genere si parte dalla estensione di javax.swing.border.AbstractBorder per comodità).
Tutti i componenti Swing possono visualizzare 1 Border. Un bordo può disegnare quello che vuole su uno o più lati del componente e al tempo stesso fornisce al componente gli "insets" affinché si possa scartare questo spazio. I layout manager ad esempio lo scartano, cioè dispongono i componenti in modo che non vadano certo sopra il bordo.
Quindi il tuo "RighelloBorder" lo assegni nello stesso pannello dove andrai a mettere il resto dei componenti. Se come hai detto all'inizio non c'è layout manager devi preoccuparti tu di non andare a piazzare componenti sopra il bordo! (mi pare il minimo, no?)
3) Fai un pannello specifico che disegna nel suo paintComponent il righello e questo pannello fa anche, allo stesso tempo, da "contenitore" per il resto dei componenti. Anche qui più o meno come 2) devi assicurarti che non si vada sopra il disegno del righello.
Per quello che hai detto "disegnare una linea che unisce oggetti grafici che si trovano in pannelli diversi dello stesso frame", questo è più complicato ma è comunque fattibile e ci sarebbero da fare un po' di valutazioni.