Per ricavare una stringa che contenga un sottoinsieme dei caratteri di una stringa data si usa il metodo substring. Se devi recuperare solo un carattere, invece, puoi utilizzare il metodo charAt.

codice:
Stringa str = "Messaggio";
String tmp = ""; //una stringa vuota
tmp += str.charAt(str.length()-1); //Aggiungo il carattere o
Per la seconda domanda non ci sono possibilita', in quanto un oggetto Stringa non e' modificabile, in realta' quando cerchi di modificare una stringa (aggiungendole dei caratteri, ad esempio) la jvm crea un nuovo oggetto di tipo stringa e lo sostituisce al primo.

Un'ultima cosa: NON URLARE, per favore.