If I have a knight in each of two cities which are close to each other, if a tile is played which joins the city (but doesn't complete it) can I take one of the two knights back into my supply?

Both knights must remain in the city! Meeple are only returned to your supply when the city is completed and scored. You can't choose to vacate an incomplete area. The same applies to roads which join without completing.