I can't say I've tried this personally, so what follows is all just an educated guess, but try comparing the Pi's hardware to a home router (which should handle 10-20 connections happily):
I've got a little Netgear WNR1000 as a home router; looking at the attached devices there's currently 7 wired devices, and another 8 wireless devices (a good half of those are Pi's :). So, not quite 20 wireless connections, but close to that number of total connections and it's doing fine. What hardware has the WNR1000 got? According to the OpenWRT pages it's got a Broadcom BCM5356 processor (presumably an ARM architecture) running at 333Mhz, and a whopping 14Mb of RAM ... so the Pi's got it beat hands down there.
However, the one place you might find the Pi wanting compared to a "proper" router is in the bandwidth available to its network interfaces. The Pi's Ethernet port and of course any WiFi dongles you plug into it will all be using the USB bus - which is not exactly fantastic for overall bandwidth (although it's still better than the SD card!). I'm not sure how Ethernet or WiFi are attached on "proper" routers, but I'd be rather surprised if they weren't simply integrated directly into the SoC which would be considerably more efficient.
So, my educated guess would be: the Pi's got more than enough processing power and RAM to handle being an "industrial strength" router, but you could probably saturate its IO bandwidth quite easily with 20 simultaneous connections. In other words, if your 20 clients are all doing low-bandwidth stuff (e-mail, browsing web-pages, etc.) you'd be fine but if a few of them started streaming video simultaneously you might find things stuttering!