At the lower level, the nodes would essentially be doing the same thing as if in-order delivery were implemented at a higher level, so can just do it there. It could just read a field, and if it said to send it out to multiple locations it would. Maximum packet size keeps usage fair, and less data needs to be retransmitted if collision or error occurs. Minumum packet size is because packets require headers. Also, you want to transmit long enough to detect a collision before you finish.
Computers listen to see if anyone is transmitting, and transmit when they hear the channel is clear.
In one case it could be unfair, is if a lot of people are trying to transmit, and one user is unlucky enough to listen at all the wrong times, so that other users hear there is a free channel and transmits before he does. Names are distributed so that no name conflicts arise within the network or internet. This would not work in the phone system because people move all the time and multiple names occur often, i.e. John Smith. UDP sends packets unreliably, just making sure the majority of packets arrive. TCP friendly means linear increase, exponential backoff.