Some m0n0wall options are only accessible by modifying config.xml directly. This is usually the case for strange/exotic options that only few people (should) use. Instead of cluttering the webGUI with lots of options that almost nobody really uses, they can only be set in config.xml. For the ultimate reference on all available options in config.xml, see the latest default config.xml available at http://m0n0.ch/wall/downloads/config.xml. Not all of these options may be available unless you're using the latest beta.
To put in these options, download your config.xml via the backup feature and open it in a text editor. Put in the desired options in the appropriate location in the file, as shown in the default config.xml linked above. After saving your desired changes, use the restore feature in m0n0wall to restore the changed configuration.
Some options are documented below:
hides the "assign interfaces" link in the navigation bar
system/earlyshellcmd and system/shellcmd
may contain a shell command that is executed before the boot scripts actually start setting up the system (for earlyshellcmd), or after the boot scripts have finished setting up the system (for shellcmd). You can have multiple (early)shellcmd tags. Don't forget to replace special characters with their XML equivalents (most notably < and > (< and >).
interfaces/(if)/media and interfaces/(if)/mediaopt
If you need to force your NIC to a specific media type (e.g. 10Base-T half duplex), you can use these two options. Refer to the appropriate FreeBSD manpage for the driver you're using to see which options are available (or run ifconfig -m).
Allows you to specify a custom gateway to assign to DHCP clients (instead of m0n0wall's IP address on the corresponding interface)
Assigns a custom domain name to DHCP clients (instead of the one configured on System: General setup)
Assigns custom DNS servers to DHCP clients (instead of m0n0wall's IP address if the DNS forwarder is enabled, or the DNS servers configured on System: General setup otherwise)
dhcpd/(if)/next-server and dhcpd/(if)/filename
These are used for PXE booting, and you should know what they do if you're trying to set up PXE.