I've written a simple (~500 lines) dhcp client, using the plan9 client as reference. It compiles statically to between 8 and 30K depending on libc, and gets me onto all the networks I've thrown at it, but that's a terribly small list.
I thought it might be of use to the people here. The source is at galos.no-ip.org/sdhcp.tar.gz or galos.no-ip.org/sdhcp-helper.tar.gz depending on whether you think a pipe-fed helper-script is a good idea. The manpage, and galos.no-ip.org/sdhcp both have more information.