A, B and D are fine, but C is wrong. It's an odd one to explain. In B we are refering to a specific known roof so uses a definate article. C mixes a definate article with an undefined and ambiguous set of objects - 'whole roofs'. Here we are talking about a non-specific set of roofs. We would need more information to say which roofs they were. In the sentance the focus is on the idea of roofs being blown off in general due to the strength of the storm, not the specific roofs blown off.
Whole roofs here refers to 'the entire roof', not just tiles being blown off. In the UK we use often use thin slate roofing tiles. Buildings can easily loose a few in strong winds - our office lost two in recent strong winds for instance. But loosing the entire roof would take a major storm.
We would always write it as roofs, but it is normaly pronounced like 'roovs', with the f being voiced to v.