The FFT size is only limited by the size of the Y-memory region on the device. Refer to the datasheet for the device you are using to determine the available Y-memory.
The FFT library function requires the array holding the input data to be in Y-memory and to be aligned in memory to an address which is a multiple of its size in bytes. For example, a 1024-point FFT would have an input array of 1024 fractcomplex elements. Each fractcomplex element contains a real and imaginary component, both are one word (two bytes) each. That means the size of the array in bytes would be 1024 * 4 = 4096. The address in Y-memory must be a multiple of this.
The MPLAB® XC16 C Compiler has attributes to specify with variables to place them in Y-memory and to align them to a specific byte boundary (space(ymemory) and aligned() attributes). Also, refer to "Technical Brief TB3141 "Implementing the Fast Fourier Transform (FFT) on dsPIC® Digital Signal Controllers"" for additional information.