I want to create a terrestrial planet with a very long lasting hurricane similar to the great red spot, I assume the planet will have to be covered by ocean. Could there still be some small islands? If it's possible what natural factors might enable the hurricane to survive over 100 years?
I agree with TrEs-2b (what a horrific ID it is, too!) on this. Here are some of the reasons why a perpetual red-spot sized storm is impossible on a terrestrial planet.
1- Terrestrial planets never get to be as large as Jupiter
Yes, they don't. That's because terrestrial planets form closer to the parent star than gas giants, which form at longer distances. The protoplanetary disk revolves at much faster speeds closer to the protostar, making the formation of heavier terrestrial planets much, much more difficult than the formation of heavier gas giants. Think about it, when your protoplanet is moving at a speed of around 28 km/s (for a comparison, the fastest rifle bullet doesn't travel any faster than 2 km/s), there is little chance of soft planetary mergers.
The largest terrestrial planet discovered till the start of this year had a mass of about 5 Earths and a radius of about 1.5 Earths (source). The gigantic telescopes might have discovered something up to twice that size, but a Jupiter sized terrestrial planet? No sir, not even half of half of half of half of the mass of Jupiter (317 Earth masses) has been discovered in a terrestrial planet.
2- The giant red spot is truly giant!
Jupiter's giant red spot has the surface area of about 3 Earths. And Jupiter itself has a volume of more than 1000 Earths. So yes, a giant red spot sized storm is not possible on a terrestrial planet as a perpetual local storm.
3- A giant red spot sized storm is possible on a terrestrial planet
Read above. I stated that a giant red spot sized storm is not possible on a terrestrial planet as a local storm. But unlike Earth, other planets get monstrously horrific, planet-sized storms. Mars gets planet-sized storms once in a while (source). So while it is rare to get a terrestrial planet with as large surface exceeding the giant red spot, it is possible for terrestrial planets to develop planet-sized storms.
4- But that storm would not be perpetual
Gas and ice planets get to develop perpetual storms in their atmospheres due to relatively weaker gravity so high up in the atmosphere. Their volumes are gigantic and the temperature difference between day and night sides of the planet demands heat exchange, resulting in monstrous storms.
Considering that terrestrial planets are far, far smaller than gas giants, any temperature or atmospheric pressure difference between the day and night sides of the planet is sorted out faster with storms lasting no longer than a few days at most.
5- The issue of oceans
Oceans are great tools for regulating temperature on a planet. Here on Earth, complex, intelligent life was made possible due to oceans. Not because life originated in the oceans, but because oceans have had the most important role in stabilizing temperature on our planet.
If your planet has oceans, it will be much harder to develop temperature difference sufficient to initiate a planet-wide storm.
Conclusion - No
Here are some of the conclusions we can derive from all the information posted above:
Terrestrial planets never get to be the size of Jupiter or even close to it.
Planet-sized storms are possible on terrestrial planets.
The great red spot is simply too large to be compared with (let alone form on) any terrestrial planet
Temperature difference is the source of mega-storms on planets.
Oceans do an amazing job of smoothing out temperature difference on a planet.
A localized, giant red sized perpetual storm is not possible (as far as we know) on any terrestrial planet.
The reason that Jupiters Red Spot has lasted so long is because it is a gas giant, literal just wind and gas. This allows for a ton of hurricanes to exist, but on a terrestrial planet, this is impossible. The Hurricane picks things up, which slows it down and it already is doomed to fail; this problem would be even worse on an ocean world. In perfect conditions you might get a hurricane that lasts a month, but you are not getting a 100 years and you are definitely not getting a Red Spot scale Hurricane.