Would this component require a heat sink?
No, this would not require a heatsink. 

To answer your problem, you first need to know the power dissipated by the component. To do this, it is a simple calculation of P = IV. Thus, your power dissipated would be 4 mA * (12 V − 5 V) = 0.028 W which is equal to 28 mW. 

Your next step is to look at the thermal properties of the component. 

As you can see, the Max operating temperature is 125 °C. 

Now you look at the Junction to Air Thermal Resistance. For the TO-220 package, it is 65 °C/W. Using this, you take your power value that you calculated earlier (0.028 W) and plug it into this equation. Doing that, you get: 65 °C/W * 0.028 W = 1.82 °C which means your 7805 will heat up by approximately 2 °C above the ambient temperature. If we assume you are working in an ambient of 25 °C, this means your component wil heat up to approximately 27 °C, this is well within the specified temperature range, and thus does not need a heatsink.

Following these steps will enable you to calculate similar things in the future.

ADDED

As Colin pointed out in his answer, the 78L05 might be cheaper for you, and is meant to be used in low current applications, as it has a max output current of 100 mA, which is still more than what you need.

Using the calculations from before, we can look at any datasheet for the component. I am using THIS one and we can find the thermal characteristics.



The TO-92 package is the 'Z' package which has a Junction to Air Thermal Resistance of 230 °C/W. We can now use this value in the previous equation: 230 °C/W * 0.028 W = 6.44 °C, which again, is more than fine for you to use without worrying.

EDIT:

I did forget to include the current of the 7805 IC itself. This was however, mentioned in the answer by Spehro Pefhany. However, if you remember to include the current of the IC you use, this method should enable you to calculate power and heat dissipation in future.