A GSM phone will happily talk to any "base station" in range, and will happily talk to the one which claims to be the most powerful. It is a feature of the protocol: the phone will not necessarily link to the base station that it receives the most clearly; a station can simply say "talk to me ! I have dibs on the connections !" and the phone will use it as long as it hears it at all. Among the things that the GSM phone will tell is the IMEI.
Such rogue base stations are on sale so they clearly exist. Intelligence agencies are said to use such objects regularly to track identities of protesters in public manifestations (in our modern world, no political opponent would even imagine claiming his anger in the street without maintaining a constant Twitter/Facebook flow about it, so smartphones are powered).
Now for the size: there is nothing complex about the protocol so the IMEI scanner can probably be made quite small, as long as it can emit a powerful enough signal to be heard by the target phones -- as explained above, the scanner does not need to drown out the signals from the legitimate base stations, it just needs to be heard by the phone. For a 30m range, this is highly doable with only minimal electric power, hence it could run off a small battery, and fit in a pocket. After all, smartphones can do some WiFi between them at ranges of 100m and they fit in pockets, too (WiFi is not GSM, but the frequencies are of the same order of magnitude so propagation constraints and ranges are similar for the same power).
Of course, technical feasibility does not automatically equates with availability on an open market.