You can only set permissions on files that you own. Thus, only root can enable the suid bit on a root-owned file.
Note that suid does _not_ necessarily mean that the program will run as root. It will run as the owner of the executable, whoever that is. So regular users can set this bit on their programs to cause them to run as their UID if the program is run by another user. This is occasionally useful, as with CGI programs run by the web server.
Basically, yes. ID's are inherited over a fork() and generally speaking only root can change to another user ID except via the suid mechanism. All non-kernel processes running on the system were directly or indirectly forked from init, which is started with UID 0 (the only one that is special to the kernel).
In terms of interactive logins on the console, login or xdm is started by init, which is running as root. Login checks credentials and then changes to the selected UID before execing the user's shell. User can't change id again without going through a program like su, which is installed as root-owned with suid bit set.
Kernel's role is to check that requested operations are allowed for the UID that made the syscall (and changing UID requires a syscall). Note that the kernel does not enforce mechanisms for checking credentials at login, which is why admins can configure that in various ways (PAM, kerberos, /etc/passwd, LDAP, etc).
Things work similarly as far as group ID as well, except that a user can be in more than one group (see 'man 2 setgroups'

.
In general daemons can be run by any user. In fact, most of the time you want to avoid running them as root unless it is necessary. Some need root priviledge to get access to a specific resource, such as a network socket below 1024. Many of these daemons (e.g. Apache, BIND) will then switch to another user after acquiring the resource.
Obviously, programs that need to be root to acquire a resource need to be started by root. Others are started as root because the boot scripts run as root, but then change to other UID's.