master.tcl(/adp) is probably a template. If you use it as site-wide master template, you can set things like @user_id@ and @user_name@ there.
Yes, everything inside [] brackets is a procedure call with the first word being the name of the proc and subsequent ones being the attributes.
I don't know what you mean by user name (the screen name or the real name), but ad_get_user_info gets the basic info (first names, last name, email) for the current user and might thus do the job (see https://openacs.org/api-doc/proc-view?proc=ad_get_user_info&source_p=1).
It sets the $email variable automatically, so if you call it in your site-wide master template's tcl file, you can refer to @email@, @first_names@ and @last_name@ in any adp page which is using that template. I don't know if that's the best practice, though, maybe some wiser people could answer that.