I suppose it could, but then it would end up inserting @@variable@@ into the filter string on the page, and that would not get processed either because its not part of the template.
I think you should just do
userfield=firstname|lastname|city|country
and then in Javascript do the processing. A bit harder than you wanted to do, I know.
eg.
var usedata='';
switch(@@userfield@@){
case 'firstname': usedata= @@USER:firstname@@;break;
case 'lastname': usedata= @@USER:lastname@@;break;
}