Configuring the motherboard's chipset would be a nightmare. BIOS hides the complex (and quite often poorly documented) chipset from the OS and provides "standard" set of services to be used by the OS. Also, whenever the chipset changes, the "standard" software interface will remain unchanged or at least remain backwards compatible. I would not bother to go for 100% bare-metal solution unless the payoffs are high enough.
The BIOS contains a simple bootloader which loads the OS startup code from the HDD or from a USB memory stick. I would first consider using the USB stick as a substitute for the HDD and load the complete OS and the application from the USB into the RAM. Small 1GB - 2GB USB sticks are very cheap. You would also have the BIOS services available for your OS and the application.
One may argue that the USB sticks are unreliable and are prone to wear. Well, if you do not ever write to the USB, they will not get corrupt --- as you will not going write to the BIOS either.
Just my 2c.
You don't need to rewrite the BIOS at all, just find a way to give your special purpose card PCI(e) bus access and present an Option ROM to the BIOS. The original BIOS will initialize the chipset for you and call the Option ROM on your PCI(e) card. This will work for a PCIe card using a PCIe slot in the computer, an ExpressCard on a laptop, and a external box attached through Thunderbolt.
Alternatively, your device can be designed to connect to the USB port, presenting both a control interface and a mass storage device (aka flash drive). The BIOS can then be configured to boot off the embedded storage on the device you designed and that includes the code that controls the rest of the box.
By the way, if you went the ExpressCard route, since the interface including both PCIe x1 and USB 2.0, the control interface and the boot device can be located on both buses separately - e.g. a flash drive equivalent boot device on USB 2.0 and the control interface on PCIe x1 bus.