There is a validator that just lets you type in javascript and return true / false so you can do what ever you like inside it.
<xp:inputText value="....">
<xp:this.validators>
<xp:validateExpression message="validation failed">
<xp:this.expression><![CDATA[#{javascript:
if( < already exists > )
{
return false; // fails validation
}
else
{
return true; // passes validation
}
}]]></xp:this.expression>
</xp:validateExpression>
</xp:this.validators>
</xp:inputText>