this should work (use more or() to add more id values):
&fl=*,score,myfield:or(exists(query({!v='id:1'})),exists(query({!v='id:2'})))
what is failing for you is probably that id is not a numeric type in schema so you cannot use sub(). So you could still try your way but id should be tint type for instance.