Why do you need all your shells to be login shells?
If you're confronting the issue I think you are (your xterms looking different from your login shells) then let me explain a remedy this way:
your .bashrc is for non-login shells. Non login shells read this file when your term session is begun. So, to make all shells uniform, we make this file point to the sources of information for login shells. My ~/.bashrc looks like this --
Now, when you start an xterm as a non-login shell, it still reads /etc/profile and your bash_profile to get your login-shell settings. All of your user specific aliases and variables should now go into .bash_profile and they will be read no matter what type of session you are running -- xterm, non-login, login, everything.