Is address 0xFFFFFFF0 hardwired for system BIOS ROM?

At power up, it is ROM. Has to be or the CPU would be unable to boot. Some chipsets have register bits that allow you to unmap the BIOS flash chip from the memory address space. Of course you should not do this while executing from ROM!

There is a common technique on PC hardware called "shadowing" where the BIOS will copy the contents of the ROM chip into RAM mapped at the same address. RAM is generally much faster than ROM, so it can speed up the system.

As for your second question, it is a memory device. It must be for the following reasons:

  1. I/O addresses are 16-bits, not 32.
  2. An x86 processors cannot execute code from I/O space. You cannot point the Instruction Pointer to an I/O address.