On the points: A: This may be less necessary than I believe admittedly. I've only worked at companies with 100+ people before, all who gave similar hardware. The advantages were in the ability to swap computers. If your computer dies, you get a spare immediately (you can even swap the HD!) as repairs occur. If someone leaves, the computer can be given to the next hire (or an intern). B: Our dependencies are all open source. The full system though (needed for testing) uses kernel modules which don't have a (fully working) mac port. C: That's good to know. (hopefully easy on OS X -- no one currently in the company uses it).
Finally, again in the companies I worked, it was pretty much expected that company development stayed on company equipment, mostly for security issues. Is it pretty common in companies with < 20 people for devs to bring their own machines?