The limitation that you are most likely running into is a resource size
limitation rather than a PICT2 format limitation. If the application stores
the pictures in the file's resource fork (as a PICT resource), it is
understandable that you can't create a 20MB picture. The maximum size of a
file's resource fork is 16MB. This is because a 3-byte number is used by the
Resource Manager to offset into the resource map.
If your application can store the images in a format that uses the file's data
fork, you should be able to create and use images larger than 16MB.