I thought it was impossible because i couldn't see a way for a smartlist to know a value in any field from a currently playing vid,, until i saw the tag() function. Warnings about it's limited success and performance hit aside i am very close to getting my Youtube browsing experience in MC using:
if(IsPlaying() ,tag(artist),Not Playing) in a custom field.
Given the above comment, you should now see it is possible to do:
[=ifelse(IsPlaying(), save(g_somevar, [artist], 1)]=1
to set a global variable based on the file playing now, and then in a subsequent rule:
[=ifelse(!isempty(load(g_somevar), do something else...]=1
The key to this form of query is that a) the query is formed as a expression that outputs a value so that MC can test the value against the right side of the comparison, and b) each query above when using a Set and (later) Test global variable is that the queries need to run in order and independently (the first one is run against all files, returning a list of files for which the query results in True, and the next one is run against the resulting set, further narrowing the result).