Counting pulses

As the loopTime is set before the IF, is it not executed just once each time the reportAnemometer() function is called?

Yes, loopTime is set just once per call to reportAnemometer(). So?

You are setting loopTime to currentTime + 5000, then comparing that value to currentTime. Of course, currentTime is going to be less than currentTime + 5000, for all values of currentTime. And, for all values of 5000.

I think the <PinChangeInt.h> library allows pins change interrupts to be used on other Arduino pins, not just D2 & D3?

It does. It does NOT use the attachInterrupt() function. It uses, instead, the attachInterrupt() method of the PCintPort class. They are not the same thing, at all.