What APIs are there for flashing BIOS as a userland program (note: I'm not looking for a tool, I'm looking for an API).
Do BIOSs expose APIs or KPIs to modify their own settings without going through the TUI? If so, how can I get at these from either userland or in the kernel?
What resources for doing this type of development?
There are APIs embedded in the BIOS for flash programming. That API is what the BIOS vendor's programming utilities will call. The API is proprietary and will vary from vendor to vendor.
You can develop a utility that bypasses the BIOS APIs and programs the flash directly. An open source utility already exists (Flashrom), but I cannot comment on its quality.