For communication between two Arduinos (one being Master and the other as Slave):
a) Is it necessary that both Arduinos should share the same VCC?
b) If both Arduinos have separate VCC, to which VCC the pull-up resistors along SDA and SCL should be connected to?
a) - NO. Arduinos must share their GND
b) - It does not matter from which Arduino are pullup resistors connected, because Arduinos will have SHARED GND.
You should look to some electronics basics to understand how current flow in circuit.