Oczywiście, jest na to kilka sposobów. Polecam przejrzeć dokumentację Androida, jest tam opisanych wiele funkcji odpowiedzialnych za zmianę wielkości czcionki itp.
Nie znam dokładnie Twojej sytuacji, ale możesz także sprawdzać ilość znaków metodą getText().lengh() i w przypadku przekroczenia pewnego limitu dla danej linijki dawać nową metodą setText("\n"); Oczywiście jest to prymitywny sposób, jednak jak widać, można pokombinować i na pewno dojdziesz do celu :)
Poza tym, stosując RelativeLayout nie powinno być takich sytuacji. Musisz jednak stworzyć odpowiednie relacje pomiędzy elementami.
Pozdrawiam.