You can refer our I2C master code example for an example on I2C master mode. GitHub link for I2C Master CE. The example shows sending multiple packets to the slave that can be implemented in your case as well. Can you let us know the packet structure that you require?
To answer your questions,
1. The address need not be sent with the Tx byte. This is taken care by the firmware itself when you pass the slave address.
2. The Tx buffer is simply the data that you need to transfer and the Rx buffer is the pointer to the location where the data sent by the slave will be located.
3. For timeout, you need to use the cyhal_i2c_master_write and cyhal_i2c_master_read APIs that take the timeout as a parameter. You can refer the CE mentioned above that uses these APIs.