There's one, pretty expensive way: Name the zombie using a name tag.
Name tags outside creative mode can be found in treasure chests, or as rare loot when fishing (not actually so rare if using "luck of the sea" enchanted fishing rod).
You rename them using the anvil, and then apply to given mob. Once named, the mob will not despawn. Of course, hostile mobs will remain hostile, mortal and in case of some, like creepers, suicidal, but at least they don't despawn. Additionally, you get monster's name over their head.
Or if you have cheats enabled, you can spawn a mob with the tag {PersistenceRequired:1} with command blocks that prevent the mob from despawning.
The cheapest way to have non-despawning zombie is to have it pick up an item. Only a certain percent of zombies have the ability to pick up items - 20% on hard, 7% on normal, 1% on easy; zombies with initially naturally spawned 'rare drop' items (potatoes, iron ingots) don't count - it must be any item picked up after spawning.