Wire.available() and Serial.available() : How do they differ?

a. The Master can not create the ACK pulse by pulsating the SDA line (LH ---> LL ---> LH); instead, there appears a NACK signal to the TWI Logic of the Master.

I don't think this is correct. The master does not check the state of the SDA line before pulling it down. It pulls SDA down to signal an ACK, at least that's what the datasheet says.

a. What value would Wire.requestFrom() return? Ans: 2.

It returns 7.

b. What value would Wire.available() return? Ans: I am not sure?

It returns 7 until you start reading the buffer.

c. How many data bytes are there for the user to process? Ans: 2.

There a 7 although only 2 are correct. But the slave has no way to signal the master that it has a problem.

d. What is the actual benefit of incorporating the Wire.available() function in the TWI Protocol?Ans: I am not sure!

That you can check how many bytes of the buffer you haven't read yet.

e. Is it possible to frame the above critical thinking into an experimental setup? Ans: It can be tried!

You can try it but it will be quite difficult to simulate. You have to do the signaling correctly for the first two bytes and pull SDA down after the third byte (it's probably easier to pull it down at the start of byte 3 and keep it pulled down).

If you get the result you described in your post, the datasheet of the ATmega328p is wrong as it doesn't describe the state you forecast here.