Hi,
I don't really understand your question or what you are trying to do, your questions don't really make sense to me.
For the current logged in user you can get his LoginName (its just labeled UserID on the login screen or hist actual UserID which is an integer from code as follows:
SiteUser currentUser = SiteUtils.GetCurrentSiteUser();
string loginName = currentUser.LoginName;
int userId = currentUser.UserID;
I don't know what you mean about passing it from Page Settings or making it part of navigation, you should not be modifying mojoPortal code.
I cannot imagine why you would need to pass anything to a custom login page for a user who is already logged in and passing things like loginname in the query string would not be good security, the main reason to use LoginName (ie it is what users use to login when Use Email for Login is NOT checked in Site Settings and the only benefit of using that is that it is less guessable than email).
Hope that helps,
Joe