Why not try HexChat instead and skip all this? It's based on Xchat2 code, is extremely similar, currently maintained, and SASL's easy to set up. Hata_ph has packaged it, and at the time of this post, it's in untested. I'm sure it'll make its way to the regular repo.
HexChat package info: http://forum.vectorlinux.com/index.php?topic=17546
If you still want to do SASL with Xchat, read on.
Xchat2 (we still call it "xchat") needs an SASL plugin. The plugins are scripted in either Perl or Python. By the time VL 7.0 came out, many of the libraries for those have been moved from where the older, compiled-in values in xchat2 expects them, so they don't work. Earlier versions of VL may not need a change. Later versions probably don't have the same Perl version, so the directory names will need to be changed from the below.
# cd /usr/lib/perl5/site_perl/5.12.3
# ln -s i586-linux-thread-multi i486-linux-thread-multi
Now Xchat's Perl interface can find the libs for the script.
Get the script: http://lwsitu.com/xchat/cap_sasl_xchat.pl
. Put it in /home/$USER/.xchat2/ . That's <dot>xchat2 for those of us with tiny fonts.
Start xchat. When you connect, you should see "SASL loaded" if you look quickly enough. A server window is easiest, so go ahead and try to connect, then choose Server > disconnect from the menu bar. If you don't see a menu bar, press F9 to get one.
SASL needs to be configured for Freenode. Just type two commands into xchat. For this example, my nickname is "blllrk" and my password is "unguessable". The commands:
/sasl set freenode blllrk unguessable PLAIN ("PLAIN" is the auth type available with this script)
That should do it. I suggest also opening a terminal and doing chmod 600 ~/.xchat2/sasl.auth so that, supposedly, you're the only one who can read that nick and pass. Not exactly high security, but one does what one can.
The next time you connect, you should see "SASL authentication successful".
roarde: To do an adequate test, you really need to /join #vectorlinux.
fontguy: No you don't
* roarde slaps fontguy around a bit with a wet trout.