Questions about CAN bus
1.Should we use twisted pair wires (like take CANL CANH Wires and twist it).


Definitely, yes. Twisting wires resolves part of parasitic influence of the environment by using common mode filtering. It also makes the twisted wires a more consistent transmission line.


  
  If 2 Transmitters start transmitting at the same time and are assigned the same low valued ID as mask then who will win arbitration and if not resolved how to win arbitration supposedly if I could write a code for it?
  


CAN is a message-oriented protocol. The case you describe is two transmitters simultaneously sending the same message, which does not make much sense as a CAN message provides up to 8 data bytes to distinguish "talkers" so, in theory this situation should not happen.


  
  Third being CAN works on CSMA/CD so how is carrier sensing done?
  


As per Texas Instruments:


  The CAN communication protocol is a carrier-sense, multiple-access protocol with collision detection and arbitration on message priority (CSMA/CD+AMP). CSMA means that each node on a bus must wait for a prescribed period of inactivity  before attempting to send a message. CD+AMP means that collisions are resolved through a bit-wise arbitration, based on a preprogrammed  priority of each message in the identifier field of a message. The higher priority identifier always wins bus access. That is, the last logic-high in the identifier keeps on transmitting because it is the highest priority. Since every node  on a bus takes part in writing every bit "as it is being written," an arbitrating node knows if it placed the logic-high bit on the bus.


The internal circuitry is designed so as to read the bus permanently, which makes the transceiver also read the data stream it sends on its own, see figure 4 in the document:



If there is a difference between what it reads and what it sends, it immediately stops transmitting and enters an "error" state. The message is buffered for later retransmission.

I don't know about 4 nor 5 though.