Can I track grants against contributions?
CiviGrant is not sync'd with CiviContribute in current CiviCRM version. You will need to build an entity that will link CiviGrant with CiviContribute or use Financial Accounts(linked with Financial type). 

This look like nice feature. I am happy to build an extension for this if you willing to sponsor.