A DHCP server gives the client the IP address, static route, DNS server, a filename to load, and the "next-server" name or IP to load it from, and other config details.
The problem is "where are you going to configure those details if not from DHCP"?
Does your BIOS give you that option, fields to enter those details? Most likely not.
You could create your own custom ROMs (e.g using ipxe) for certain NICs with this information hard-coded - but why? Not only would you have to make a unique individual ROM for each NIC (for the IP address), but hard-coded configuration details nearly always end up being a pain because details change and you need to be able to change them easily....which you can do with a DHCP or bootp server, simply by editing the dhcpd.conf
There's nothing preventing a PXE ROM from having a configuration menu (in fact, I have seen some servers with the ability to specify a NIC's IP address and some other details - mostly for remote management cards like Dell
iDRAC and HP
iLO and Sun
LOM), but there is little incentive for manufacturers to do so - this is an already solved problem, and DHCP / bootp is the solution.