On 'LDOCE', you can see the usage of 'cause for' as an uncountable noun. Here:
- Cause (U): a fact that makes it right or reasonable for you to feel or behave in a particular way. SYN reason:
- There is no cause for alarm.
- The patient's condition is giving cause for concern.
- The present political climate gives little cause for optimism.
- If you look up the noun 'reason', you can see that it used as an uncountable noun with the same meaning. Here:
- Reason (U): a fact that makes it right or fair for someone to do something. However, with this meaning 'reason' is mostly followed by 'to + inf.'
- There is no reason to panic.
- He has reason to feel guilty.
- We have reason to believe that the goods were stolen.
Here, I think that both 'have cause / reason to do sth' can be used interchangeably.
Longman Dictionary For Common Errors states that:
"Reason for sth BUT cause of sth: 'The underlying causes of the present dispute date back to 1987.'
Note however: cause for concern / alarm / complaint / hope etc: 'The new
rise in unemployment has given the government cause for concern.'
I have also done a little research on 'Coca' and found out that 'cause for concern' beats 'reason for concern' (601-121). Similar results appear with the ' cause for alarm'. (151-15).
So, in brief, in case of having the uncountable meaning mentioned above, you can use either 'have reason / cause to + inf.' or 'cause for + noun'. I think this is the expected answer in the exam.