It would be a lot easier to just use a spreadsheet function in your input. =IF(A1=0,"Not given","Gave "&A1&" dollars") or whatever.
the data merge feature with indesign only brings in text which was in the original data file itself - it doesn't know how to parse or interpret it to behave differently upon seeing certain results. that is, it doesn't run database queries such as if-else statements - it will only import text which was originally in the data file.
however, there are plug-ins to indesign that CAN do this but they cost BOATLOADS. are you printing this yourself or are you sending this to a commercial printer? if the latter, have you discussed your print solution with the printer, as they may have a plug-in that can do this type of data merging, and all you would have to do is provide the printer with a packaged native file, along with the data and instructions as to what has to change... and for goodness sake see a proof of it!!!
You can do this with a simple search and replace. It can be scripted, if you do this often.
You can data merge the sum as "GIFT:500" or whatever and then use search and replace to replace any "GIFT:0" with "Please consider giving this year." . Then use GREP search to replace "GIFT:(\d+)" with "Thank you for your gift of \$$1."