My bike's a 550 which has a completely differnt clutch than the 500. I never experienced a problem like yours, so this is just a theory about what could be wrong with your transmission:
You know that you can shift completely without the clutch?
This is easy when you are shifting up. Just close the throttle a little bit so that you are decreasing the load on the input shaft and you'll be able to shift up without pulling the clutch.
On the other hand this means: If there's too much load on the input shaft, you will not be able to shift at all, because the dogs of the sliding gear are pressed against the side walls of the corresponding gear's slots very strongly. This is why you normally need to pull the clutch while shifting down: It takes the load off of the input shaft.
Now, if you are unable to shift down several gears while pulling the clutch, it looks like there's still too much load on the dogs. Or the sliding gear is binding on the shaft somehow (twisting because of worn bearing journals?).
While downshifting, the input shaft needs to acceralerate. Disengaging the clutch and blipping the throttle while shifting helps a little bit.
Might be that your input shaft is slowed down too much while engaging the clutch, so that there's too much load on the gears to shift down more than one gear.
As I wrote before, I have no experience with the 500.
But looking at the fiches, it looks like the clutch lifter rod turns with the speed of the input shaft and this rotating force is transferred to the clutch lifter cam through a steel ball. If this rod or steel ball binds too much, it might slow down the input shaft just enough to make shifting down several gears impossible.
So you could try to disassemble the lifter mechanism in the left engine cover, clean and lube it thoroughly.
Investigating the clutch lifter rod and the clutch itself might reveal more problems.
If you don't find anything wrong with your clutch, you might consider to dig into the transmission in order to inspect the gears and shafts or just live with it
Cheers
Carsten