Both the write and the read transactions should be set up in the same txn_list.  The underlying i2c layer is designed to handle that and it will be done atomically on the bus that way.  The write should use a separate, 1-byte local variable to hold the device_pin.  The read portion should use a 2-byte buffer to hold the response.