It might be possible to accomplish this from the login window by defining multiple screens in the xorg.conf file
and giving them Identifiers, then creating .xserverrc files in the home dirs of different users, and passing the
desired screen Identifier to the X server as a parameter using the -screen command line option.
So your xorg.conf would define 2 screens - one 8-bit identified as, say "8B", and another the standard 24- or 32-bit
screen, id'd as "24B".
Then in the home dir of your 8-bit user, create an .xserverrc file such as:
exec /user/bin/X -screen "8B" -nolisten tcp "$@"
Then edit the /etc/X11/xinit/xserverrc and add "-screen "24B"", which should apply to all other users.
So when you log in as 8-bit user, you would get that screen, and all others would get a normal screen.
***DISCLAIMER: I haven't tried this, use it at your own risk. (what's the worst that could happen?)