In gEDA where can I see th elist of supported footprints
In your PCB install directory tree (for reference, mine is in /usr/share/pcb on Debian) there will be a folder called m4 which contains a bunch of macros that are used to generate footprints.

If I am trying to find a particular footprint, I typically do something like this:

lombard: [/usr/share/pcb/m4] grep "0603" ./*                                            [19:40:31]
./geda.inc:#define(`PKG_0603',      `PKG_SMT_2PAD_MIL(  `$1', `$2', `$3',  60,   30)');
./geda.inc:# The naming convention, like 'CAPC0603L' follows the IPC standard.  At the end
./geda.inc:# of each size is a package named like '0603', '1206' which is more or less a compromise part based
etc...


This gives you a good starting point to read further into the code (the comments in these files are generally quite helpful)

For your particular case, you need an 0403 - this part is not supported by default (i.e., a footprint of '0403' will not be recognized) However, if you look at that first line that came up in our grep search, it looks like there is a macro called SMT_2PAD_MIL which takes arguments of part width and part height in mils. In other words, you might be able to get away with defining your footprint as:

SMT_2PAD_MIL 40 30


For more information on the structure of these macros, try this section of the gEDA wiki: http://wiki.geda-project.org/geda:gsch2pcb_tutorial#custom_m4_elements

There is also documentation (!) in the source archive for gEDA