Is there any way to check if a beacon is active and gets its level or do we have to check if it's the correct shape and activate it manually?
You'll need to code a whole new tile for that and hack InventoryType class using ReflectionClass to access private properties. You can refer to the Minecraft Wiki for beacon's NBT tags. We can't help you without knowing how you've added beacons to PMMP.
The client handles the beam. The game will check for the blocks above and below the beacon and cast the beam. But you will manually need to code a way for the server to check the number of blocks (not as hard as you think it is). For the inventory, you'll need to use reflection hacks.