This question is treated to some extent in the m0n0wall handbook (
http://doc.m0n0.ch/handbook/) in section 2.5, although my experience is somewhat at odds with the statements regarding memory: my m0n0wall currently handles about 170 dhcp clients and shows memory usage in the neighbourhood of 85 MB.
Also be aware that m0n0wall is rumoured to max out at 30 000 connections or firewall states, and your usage may exceed that. Your options to work around this limit are to custom compile m0n0 or consider an alternative, such as pfSense.
db