You may want to use WHERE...IN by exploiting the collection functionality of cypher. Here's the relevant reference
So your query might look like this:
MATCH (user:User)
WHERE user.id_str IN ["100001", "100002", "100003"]
return user;
Now, I don't know how large a collection can be. I doubt this would work if your collection had 1,000 items in it. But at least this is a way of batching them up into chunks. This should improve performance.
Also have a look at the Collections section of the Cypher 2.0 refcard