If a friend encounters a Pokémon, it doesn’t disappear directly. So I should be able to catch it, as well.
My question is, how long does it stay there? Can I still expect to find it there a few hours later, or even a day later?
Pokemon do not “move” in GO. Once they spawn in a location, they tend to stay there until despawn.
Pokemon have an attribute which controls spawn behavior (likely
ExpirationTimeMs in the protobuf files), which determines their spawn length. For the most part, Pokemon will despawn either 15, 30, or 45 minutes after initially spawning, although some outliers do exist as this is a server-side variable.