Are FT2232 interfaces completely independent?
can I configure interface A as MPSSE and interface B as a UART ?


From the datasheet you have provided

Section 3.4.5 Page 16


  The FT2232H channel A and channel B each have a Multi-Protocol Synchronous Serial Engine (MPSSE). 
  Each MPSSE can be independently configured to a number of industry standard serial interface protocols 
  such as JTAG, I2C or SPI, or it can be used to implement a proprietary bus protocol.  For example, it is 
  possible to use one of the FT2232H‟s channels to connect to an SRAM configurable FPGA such as supplied 
  by Altera or Xilinx. The FPGA device would normally be un-configured (i.e. have no defined function) at 
  power-up. Application software on the PC could use the MPSSE to download configuration data to the 
  FPGA over USB. This data would define the hardware function on power up. The other FT2232H channel 
  would be available for another function. Alternatively each MPSSE can be used to control a number of 
  GPIO pins. When configured in this mode, the pins used and the descriptions of the signals are shown 


Also in section 4 page 20


  ...The FT2232H has two independent configurable interfaces. Each interface can be configured as UART, 
  FIFO, JTAG, SPI, I2C or bit-bang mode with independent baud rate generators. In addition to these, the 
  FT2232H supports a host bus emulation mode, a CPU-Style FIFO mode and a fast opto-isolated serial 
  interface mode. 


So they can be set independently but I can't provide further info about D2XX programming