The free version of Eagle lets you build PCBs up to size 80mmx100mm.
There is a milling ULP (user language program) that generates isolation milling G-code from the Eagle PCB layers.
I've used it, it works, but I've found that milled PCBs don't fit my prototyping needs very well. I'd rather prototype on stripboard, and then wait 10 days for a real PCB with multiple layers, vias, solder mask, and silkscreen.
Your experience may of course vary :-)