You don't have to change the default runlevel, just add xdm/kdm/gdm to the list of daemons in rc.conf
At least, that is true for Arch, I could be wrong for Slackware
Apparently Arch doesn't go by standards (it would seem to me anyway) according to this:
SysVinit (which will be referred to as init from now on) works using a run-levels scheme. There are seven (numbered 0 to 6) run-levels (actually, there are more run-levels, but they are for special cases and are generally not used. See init(8) for more details), and each one of those corresponds to the actions the computer is supposed to perform when it starts up. The default run-level is 3. Here are the descriptions of the different run-levels as they are implemented:
0: halt the computer
1: single-user mode
2: multi-user mode without networking
3: multi-user mode with networking
4: reserved for customization, otherwise does the same as 3
5: same as 4, it is usually used for GUI login (like X's xdm or KDE's kdm)
6: reboot the computer
The command used to change run-levels is init [runlevel], where [runlevel] is the target run-level. For example, to reboot the computer, a user could issue the init 6 command, which is an alias for the reboot command. Likewise, init 0 is an alias for the halt command.
So, as you can tell, you should probably change the runlevel to 5, which would occur after going into 3 iirc. This is how the runtime scripts are supposed to work, anyway. Why start it as a daemon?
EDIT -- I'm currently building a LFS system so I happened to have read that. :P