Several posters have pointed out that I can get DHCP to assign IPs based on MAC, which goes a long way toward solving my problem. I guess if I share hosts using ldap, I can still give each machine a unique name, too.
Now the only problem I can think of with sharing /usr and /etc is that my file server's /etc will contain stuff like /etc/exports, which will end up telling every machine to be a file server. Hmmmm. I'll go and re-read the Diskless-HOWTO, but if anyone knows a workaround I'd still appreciate hearing from you.