Wildcards in general are supported by ArcMap. Here is an extract from the help you get while you do a 'Select by Attributes':
Use the LIKE operator (instead of the = operator) to build a partial string search. For example, this expression would select Mississippi and Missouri among the USA state names:
"STATE_NAME" LIKE 'Miss%'
You can use greater than (>), less than (<), greater than or equal (>=), less than or equal (<=) and BETWEEN operators to select string values based on sorting order. For example, this expression will select all the cities in a coverage with names starting with the letters M to Z:
"CITY_NAME" >= 'M'
The not equal (
<>) operator can also be used when querying strings.
A wildcard character is a special symbol that stands for one or more characters.
For any file-based data, '%' means that anything is acceptable in its place: one character, a hundred characters, or no character. Alternatively, if you want to search with a wildcard that represents one character, use '_'.
For example, this expression would select any name starting with the letters Cath, such as Cathy, Catherine, and Catherine Smith:
"NAME" LIKE 'Cath%'
But this expression would find Catherine Smith and Katherine Smith:
"OWNER_NAME" LIKE '_atherine smith'
The wildcards you use to query personal geodatabases are '*' for any number of characters and '?' for one character.
Wildcard characters appear as buttons on the query dialog. You can click the button to enter the wildcard into the expression you’re building. Only the wildcard characters that are appropriate to the data source of the layer or table you are querying are displayed.
If you use a wildcard character in a string with the = operator, the character is treated as part of the string, not as a wildcard.
With a joined table, use wildcards appropriate for the side of the join that you are querying. If the query only applies to fields in the target table (the left-side table), use the target table wildcards. If the query only applies to fields in the join table (the right-side table), use the join table wildcards. If the query involves fields from both sides of the join, use the '%' and '_' wildcards.
For example, if you join a dbf file (the join table) to a personal GDB feature class (the target table):
Use * for queries that only involve personal GDB fields.
Use % for queries that only involve dbf columns.
Use % for queries involving columns from both sides of the table.
According to this: I think ranges are not supported, instead you have to use > and <, just the way you did it.