i2c how to read without requestFrom?

Hi, I'm trying to read response without using of requestFrom function.
When I send data, I'm asking for "read pin value and send me back." but if I'm using requestFrom, it needs onRequest callback, so it becomes like this:

slave side.

void receiveEvent(int howMany) {
    while(Wire.available() > 0) {
        int pin = Wire.read();
        int pinval = digitalRead(pin);
        Wire.send(pinval); // HOW TO CATCH THIS?? :(

master side.

    Wire.write(13); // pin id.
    delay(100); // give some time for reading
    // READ, but HOW?


EDIT: I'm using it with YunClient and as you guessed it, I want it to be a multithreaded. I don't want that slave device to save something somewhere and send it onRequest event, because it can cause false values. (as I'm guessing, let me know if I'm wrong).

Thank you!