Please find my comments to your questions below:
>>Is it possible at all?
Yes, it is possible. Please refer to the following thread which describes how to add CDC interface to UVC firmware.
>> Does CyU3PUsbSetDesc supports non zero desc_index for desc_type other than CY_U3P_USB_SET_STRING_DESCR? Comments says it doesn't but some answers on this forum states that is does?
Inside the definition of CyU3PUsbSetDesc, desc_index is used only used for the CY_U3P_USB_SET_STRING_DESCR (string descriptor). For all other descriptors, this parameter is not used inside the definition of CyU3UsbSetDesc. So even if you pass a non zero desc_index, it will not make any difference.
>>How to number interfaces within the same config descriptor if it contains "interface association descriptor" with several interfaces inside?
Please find the following KBA which describes how to add CDC interface to FX3 firmware. The link to the KBA is given below: