Technically, with these kinds of "X freeze" issues, it's actually not that X itself froze up, but rather that the GPU on the video card locked up for some reason, and thus X could no longer update graphics on it.
So because of that, resetting X generally isn't going to solve the problem. Like the prior two commenters mentioned, several easy ways exist to restart X such as restarting gdm or kdm, or turning on ctrl-alt-backspace and using that key combo. But next time "X freezes", go ahead and try them, and I'll bet it has no effect.
The problem really is deeper down in the stack, at the kernel level. Possibly if you closed X, unloaded and reloaded all the kernel graphics drivers, then restarted X it'd come up. But in restarting X you lose all your apps. So other than an interesting test, it's probably faster and safer to just do a full reboot.
You didn't mention which video driver you're using, but with for instance the Intel video driver, the GPU is handled by code in the Linux kernel itself. Some developers have been experimenting with adding a "GPU reset" feature in the kernel that will automatically clear the GPU's memory and re-initialize it when it seems to no longer be responding to graphics commands. This reset functionality is new and doesn't always work in all cases for various reasons, and isn't (yet) available for the nouveau or ati open source video drivers. Hopefully it'll be coming soon.
If you're using a proprietary driver like nvidia or fglrx, well all bets are off. Check the forums for those drivers for tips.