<p>I'm making a hybrid 3D printer and circuit etching (CNC milling) machine that can both 3D print and etch prototype circuit boards. I'll be using Marlin firmware with an Arduino Mega &amp; RepRap 1.4 board. It will have a 3D printer head and a milling head side by side. I'd like to have it be able to read both .gbr (for circuit etching) and .gcode (for 3D printing) files. How should I configure Marlin to read both types?</p>

You can use both .gcode and .gbr files one one machine. We do it where I work.
However, when we make prototype circuit boards, we don't print them; we acquire circuit board blanks, and then we either:
Use a diode laser to burn off the top layer of garolite for isolation traces, then do a chemical dip to remove that copper, then another laser burn to expose pads for surface mount components; or
Use a spindle tool to remove the top layer of garolite where needed for pads, as well as mill through the copper layer for isolation traces.
We have not found a printable material that has the conductivity we want in a circuit board.
Source: I work for
Hyrel 3D
Note: we don't use Marlin on Arduino, we use in-house firmware on STM32F429 boards.