Are the tx/rx buffers duplicates neccesary? And is masterBuffer necessary?
Yes and no. Some of the buffers are only needed in slave mode (twi_txBuffer and twi_rxBuffer), some only in master mode (twi_masterBuffer). The two TwoWire::* buffers are needed to provide the high level interface the Wire library offers. So to answer your question: all buffers are needed if you want to use the Wire library with all it's functionality but you could eliminate some buffers if you don't need part of the functionality and you want to cut the library back to your needs.
One way to reduce RAM usage is to use the (F) macro. example: Serial.print("Good Morning Have a Great Day"); with Serial.print(F("Good Morning Have a Great Day")); Will save you 29 bytes of RAM. The compiler causes the Arduino to place all messages in RM at startup. This method a bit slower does not do that.
Serial.print("Good Morning Have a Great Day"):