Beginner's queriesss on I2C Serial Connection

Another stupid question: From the example on the internet I see the convention of using Analog pin4 is used as I2C SDA, and Analog pin5 is used as the serial clock. I just wonder why is the pin 4 and 5. Could i use 6 or 7 instead? And more importantly, could i establish 2 I2C connection on the arduino? (i.e. using pin 4,5; 6,7 in pairs) I know the answer should be not but I don't know the explanation.

Using pins 4 and 5 is not just a convention. It is a necessity, as the I2C communication is controlled by hardware connected to those two pins.

No, you can not use pins 6 and 7, instead, for two reasons. First is that the I2C hardware is not connected to those pins. Second is that most Arduinos don't have analog pins 6 and 7.

And i want to know the differences between RX/TX serial communication and the I2C. Actually i even don't know if they are the same thing or not. The RX/TX use the digital pin 0 and 1 while the I2C use analog 4 and 5...this is the only thing i know. So, under which circumstance I should use RX/TX and for the I2C? Do the I2C connection use up the RX/TX port? (or could not do them at the same time)

Complete different beasts. Whether to use serial communications or I2C communications depends on what you are trying to talk to. Obviously, whatever it is needs to be connected to the correct set of pins (digital 0 and 1 or analog 4 and 5). I2C and RX/TX are completely independent.

Can i connect 4 HMC5843 to one single arduino?

Can they be configured with different addresses? If so, yes. If not, no.