For complex molecules with many heteroatoms, can we predict if the molecule is pi-acceptor or donor? Also if possible can someone suggest a good source to read more about these stuff in detail?
That's solely dependent on the molecular orbitals of the ligand. Electrons should be donated from HOMO of the ligand to the metal. Similarly electrons will be accepted the LUMO of the ligand. So, depending on the MO of the ligand HOMO or LUMO could be either of Sigma or Pi nature. Try to follow it on Huyee of Shriver-Atkins.
Almost all ligands are sigma donor, though the extent of donation varies from ligand to ligand. Now the question is when a ligand will act as a pi acceptor or donor. Pi donor ligands are those which have extra non bonding electrons in their valence orbitals (simple example iodine). Now the extent of pi donation depends on the symmetry and energy of those orbitals. The energy difference between vacant metal orbitals and filled ligand orbitals should not be very high and both must have same symmetry. Now to be a pi acceptor a ligand needs to have an empty orbital and here too the extent of pi accepting tendency depends on the energy difference and symmetry of the empty ligand orbital and filled metal orbital.
ref: The Organometallic Chemistry of the Transition Metals by Robert H. Crabtree