how can i improve my code?

If you have several meters the simplest way to keep track of everything is with a few arrays. For example one array would hold the pin number that each meter is connected to and another the data collected. Then you just need a FOR loop to iterate through all the meters with the same piece of code.

If the pulse from the meter stays HIGH (or LOW as the case may be) for two hundred microseconds or so you won't need to use interrupts. The Arduno will be perfectly able to check the condition of the input pins much faster than that so it won't miss anything. If the pulses are much shorter you probably will need to use interruts in case two pulses occur close together.

If you are a beginner, avoid interrupts if you can as they can be hard to debug. If you do need to use interrupts make sure the code in the interrupy routine is very very short.

...R