Is it possible to create a non-root Linux user account without being logged in as a root user and without using
Boot up into a system rescue CD. Or, if your root account is locked, boot to single-user mode (add
1 to the end of the boot command). Other than that, no. Could you imagine how insecure that would make a system?
It requires writing in some files. Which happen to be writable only by root. So use a setuid root binary like sudo or be root.
If the system is not being used, just mount the hard driver and edit manually the files you need, there should be binaries on the system to edit the password file/groups and such. I'm more a BSD user so I don't know the names but look for vipw/adduser/useradd/usermgmt/etc.
Are you sure you really need to do that? Managing user is part of the administrator's tasks, so root is the way to go. If someone else can modify system files, there's a security problem.
No. Generally speaking, the unix permission model only has two levels: root, and the rest. Root can do everything, and non-root users each have their own domain. Non-root users cannot create subdomains inside their security domain.
There is a way to create security domains as an ordinary user: run a virtual machine of some kind (VirtualBox, User Mode Linux, …). You can isolate applications running in the VM to your heart's content.
If the root user wanted to allow this, she could configure PAM to allow it, or even allow it by group membership.
By default, no it cannot be done and I'm not going to write a PAM example.
This is an admin decision and any admin confident (not sure that's the best word) enough to allow this, should be experienced enough to configure PAM without help.
samba has a mode that will create accounts "on the fly". I am not sure if your question is related to Windows-based authenticated access from "new" users.