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;
}