JulS
Yes, your understanding of the zone ticket system in regional fare networks such as ZVV is correct. Just getting the right single ticket is a little challenge.
In order to do so with the SBB Mobile app, select an imaginary return trip covering all necessary zones (using the Via field if necessary) which leaves slightly earlier or at the same time as your intended actual first leg. In your 1st example, that would be ZRH Airport (which station within zone 121 doesn’t matter) via Zürich HB to Seegräben. Select an early enough connection, then select a RETURN ticket (2 arrows) for it, and double-check the listed correct zones and the correct validity period before hitting the ‘Buy’ button. But you could cancel the purchased ticket yourself again (full refund), as long as the start of validity is still in the future.
Your 2nd example is a bit easier, that would be Airport - Kilchberg return. Note that zone 110 (Zürich) counts as 2 zones.
The purchase can happen any time between 1 minute and 60 days before departure / start of validity, the ticket will always be available and cost the same.