Unfortunately, there are no ways to keep replays forever unless you record them yourself. If you think about it. Imagine how many games get played everyday and each game has 100 people. That’s a hell of a lot of recordings that Fortnite need to save.
It wouldn’t be cost efficient to allow people to keep replays forever. So, the only way you can keep them is to record them yourself.
First off if you don’t want to record all the time. Is you can start the replay from the beginning and setup your recording software to record whilst you go grab something to eat or have a break in between games.
The alternative solution is to record all your games and then delete any games you don’t want to save. If you’re on console, you’ll need to buy a game capture card in which I’d recommend getting an elgato game capture HD. There the best in the market and with their software you don’t have to click record all the time you can drag the recording bar back if you have a good game and set it to record from that point.
If you’re on PC, then you can use the free programs such as OBS.