Support for extensions was added in m0n0wall 1.1b1, and while it is still there, I can not recall it ever being used. Here is how it was supposed to work.
During the final stage of the boot phase, the boot scripts check for the existence of the directory /etc/inc/ext. If it is found, the boot scripts check all subdirectories of that directory for a file or files starting with "rc" and execute each one.
The webGUI checks for the existence of the directory /usr/local/www/ext - if it is populated, a new "Extensions" section is created in the navigation bar, and any files named "menu.inc" that are found in subdirectories of /usr/local/www/ext are included in the navigation bar just below the "Extensions" heading (by means of a PHP include() call). Note: webGUI PHP files (except .inc files) must be marked executable, saved in UNIX format (LF line breaks) and have the following string as their first line:
#!/usr/local/bin/php
See these posts on the old m0n0wall list as well.
This, or course, a totally unsupported feature of SmallWall which was last developed as of m0n0wall version 1.1.