Probably, but you have to clarify what you mean by "user ID". Is this the same is the login name/username for the OS, or something else?
Yes, the login name/username. Or have the text field prompt them for their full name.
A stamp script has access to the identity.loginName and identity.name properties. The identity.name property is often a full name and can be set via the following user preference: Edit > Preferences > Identity > Name
As an example, a custom calculation script for a text field on the stamp could be:
event.value = identity.loginName;