Innanzitutto cosa è "Posizione"? (intendo quel new Posizione() nel main). È un'altra classe (che non si vede) o hai solo sbagliato a scrivere invece di Punto?
Comunque tieni presente una cosa importante: le classi Punto e Rettangolo tecnicamente sono delle "inner class" (poiché sono definite dentro ProvaClasse e non con static). Una inner class è molto particolare ed ha regole specifiche. Se non sai bene cosa sono e cosa comportano, il semplice consiglio è di evitarle. 
Ora, ignorando un momento i buoni principi della programmazione ad oggetti (incapsulamento, mantenere privati i campi, ecc...), volendo accedere direttamente ai campi, quello che segue è tecnicamente corretto.
codice:
public class Prova {
public static void main(String[] args) {
Rettangolo rett = new Rettangolo();
rett.altezza = 50;
rett.base = 80;
rett.posizione = new Punto();
// ora posso accedere a x/y poiché Punto è istanziato!
rett.posizione.x = 10;
rett.posizione.y = 30;
System.out.println("x , y = " + rett.posizione.x + " , " + rett.posizione.y);
System.out.println("base x altezza = " + rett.base + " x " + rett.altezza);
}
}
// Punto e Rettangolo sono FUORI da Prova
class Punto {
public int x;
public int y;
}
class Rettangolo {
public int altezza;
public int base;
public Punto posizione;
}