I think you should read up on what
concatenation is. the concat() function concatenates strings together, those strings are stored in the variables you see listed, ie: pt,qu,sl etc.
As for the second part of question, the author is attempting to hide what the javascript is actually doing. Which is pretty useless in javascript since it's run client side. For example, in this:
<script language=JavaScript>function decipher(x){var l=x.length,b=1024,i,j,r,p=0,s=0,w=0,t=Array(63,31,36,14,23,13,34,2,57,42,0,0,0,0,0,0,21,17,6,37,41,12,7,35,10,8,59,60,28,39,16,22,1,3,46,29,25,15,24,11,4,51,56,0,0,0,0,27,0,62,18,20,19,0,48,40,30,9,32,52,33,53,55,49,61,44,26,45,47,38,43,50,5,58,54);for(j=Math.ceil(l/b);j>0;j--){r='';for(i=Math.min(l,b);i>0;i--,l--){w|=(t[x.charCodeAt(p++)-48])<<s;if(s){r+=String.fromCharCode(165^w&255);w>>=8;s-=2}else{s=6}}document.write(r)}}decipher("xuDoetLke1puzvKm4Y5lxwtwN4IJm4IYO4Zoivqo3QLfWuD6BQKwAQKm_7")</script>
Simply replace the document.write() call with an alert() and run it in your
Firebug console (or in the address bar if you prefer) to have the deciphered output alerted for you nice and easy.
-tx @ lowtech-labs.org