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.beginTransmission(device_id);
    Wire.write(13); // pin id.
    Wire.endTransmission();
    delay(100); // give some time for reading
    // READ, but HOW?

Regards.

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!

bump?