bhè si, ci sono dei non-sense nel codice e anche secondo me non hai "modellato" bene il problema... però per rispondere alla domanda:
nella classe SceltaPersonaggio devi metterci un costruttore che accetti in input un istanza della classe DataManagerPG. Questo è uno dei modi classici con cui in oop le classi si scambiano i dati.
Finstra principale
codice:
DataManagerPG pg = new DatamanagerPG();
SceltaPersonaggio frmSceltaPersonaggio = new SceltaPersonaggio(pg);
frmSceltaPersonaggio.ShowDialog();
classe SceltaPersonaggio
codice:
private DataManagerPG pg;
public SceltaPersonaggio(DataManagerPG pg)
{
this.pg = pg; //ora la variabile private pg punta all'oggetto pg del form principale: sono la stessa "cosa"
}