Attach a file to a donation
In a word, yes.  You'll have to implement this as custom field sets, which is easy.  That's menu option Administer/Customize Data and Screens/Custom fields.  You can have a custom type of 'file' as a custom field, which then allows you to attach a file.  You can have as many of these fields as you require, and you can set the custom field set as applying to contributions only.