There are two topics I think should help you:
Leveling up skills through use
Lag-free thieving system
If you use the leveling up skills through use system for a fishing skill you'll be able to make yourself get higher levels of fishing skills as you catch more fish. And if you have a look at the code for the lag-free thieving system, you could copy parts of it to make places that only allow you to fish at higher levels.
For example: You have a skill called "Fishing". You have it call a common event called "fishskillup" or something. Then you put this code into the common event:
Control Variables: [0001: Fish Exp] += 1
Conditional Branch: [0001:Fish Exp] == 50
Conditional Branch: [$game_actors[001].int >= 100]
Play SE: '157-Skill01', 80, 100
Change Skills: [Aluxes], + [Fishing Level 2]
Text: Aluxes Learns Fishing Level 2!
And then in a fishing event you have something like this:
[Conditional branch: fishing level = 1]
Fishing script goes here
[Else]
[Conditional branch: fishing level = 2]
Better fishing script goes here
[else]
You don't have fishing skill! You can't fish here!
Or if you want a place where you can only fish if you're level 2:
[Conditional branch: fishing level = 2]
Fishing script goes here
[else]
You have to be fishing level 2 to fish here!
That should help you... if you need anything else just keep asking.