I want to connect two arduinos (pro micro) and send a signal from one to another with just a use of a mono jack 3.5mm (both will be connected to jack sockets, and a mono 3.5mm jack cable will connect them).
Some jacks will be outputs, and some will be inputs, so the only thing i want to do is to send an "id" that will notify the arduino with the input that a output from another arduino with a specific output id connected to it.
I thought i could use Serial communication and make every output port send some id number always.
it can work with just a mono cable, but i think a I2C may be a more solid solution...
what do u think?
I2C is best for small distances, but if you're going to try and communicate for distances greater than a foot, you should use serial.
If you choose serial, I suggest you use this fast/reliable/easy to use serial transfer library that will automatically packetize, send, and parse data for you
hm...no..usually not longer than a foot..it would be average about half foot..
serial i guess has no distance problem right?
actually the library you sent looks that does exactly what i want..send small packages -in my case an "id"- simple easy and reliable.. thanks 
edit: so, if the output just send the id..can i use only one pin per output? (the TX pin)? the ground isnt supposed to be the same between all arduinos powered over the save power supply?
How many Arduinos? If there's only two then you don't need IDs.
If there's more than two then Serial gets awkward quickly. You can't have a large number of Serial inputs. SoftwareSerial can add many inputs but it can only listen to one at a time. Something like a Mega or a Teensy 3.2 has more Serial inputs, which pushes "awkward" up to 5.
If you can have a master and several slaves, then there are a few options for making a "bus" communication scheme. I2C is only good for short distances like under a meter. As you get to longer distances, the wire costs more than a wireless transciever module at about 20 meters. So look at wireless.