Well first off, do you need VPN functionality? If not then virtually any router could probably be made to work. I don't know the price of Pix 501s off the top of my head, but I'm guessing about $300-400. You could save yourself some money and get more features by implementing a software firewall on an old PC. m0n0wall is absolutely great for this sort of thing. You could also do the same thing with a copy of any Linux distro, but you lose the nice point and click interface.
The nice thing about cisco is you can find information and how-to guides for just about anything you want to do, whether it be via the web configuration utility for the PIX or Router or via the Command-line. Not only that but we can help ya here .
It depends on what type of business you do and what level of security that you want. A SOHO 91 router has a built-in stateful inspection firewall that works the same as a PIX's but is a little watered down. Also the SOHO-91 router can support only 5 users inside whereas the PIX 501 can support 10. But the PIX 501 is not meant for routing data even though it is capable of it and can do it just fine, its not recommended due to the way it handles incoming and outgoing packets/data.
You can limit connections on a router and many can handle VPN connections but the SOHO 91 routers cannot handle too many VPN tunnels. I think a max of 3 or 4 maybe, even that might cause it to bog down.
If you go the route of the PIX 501 then you may end up spending more money to buy a router along with it.
I think the SOHO 91 would be plenty for what you need, but you may consider upgrading to the 800 series routers.
I don't know anything about the DLINK so I can't give you any insight on that.