If you upgrade to the latest 1.92+ version, you will see that the the unique() function was added a couple of months ago. And, if you upgrade, you'll be able to use the self variable.
So, the question validation equation would be:
sum(self.sq_2)==100 && unique(self.sq_1)
And the question validation tip would be:
{if(sum(self.sq_2)==100,'','Sum of the percentage fields must be equal to 100<br/>')}
If you want the subject to rank all of the entries, you would set the question to mandatory, and could then use the following question validation equation and tip, respectively:
if(count(self)==18,(sum(self.sq_2)==100 && unique(self.sq_1)),1)
{if(count(self.sq_2)<9 or sum(self.sq_2)==100,'',implode('','Sum of the percentage fields must be equal to 100. The current total is ',sum(self.sq_2),'<br/>'))}
{if(count(self.sq_1)<9 or unique(self.sq_1),'','Please rank each option once<br/>')}