Just heard this on my local radio and i think it actually would work well. I've modified it to make it make sense.
If you're a player that has been on your team for consecutive years 8 years, either by draft or trade, you have the option of resigning that player to a legends clause if he's a free agent.
You are restricted to only one legend on your team. (Or call it the Franchise Player/Clause)
When you resign him, his contract only counts to a percentage of the cap, let's say 50% to start. So someone like Kobe who is getting 28, he'd only count as 14. Dirk could've signed for 16 instead of 8 mil. So they get paid that money but the team is only capped half
If that player is traded, the new team is capped the full price.
this would allow teams to pay those hometown players more money but be able to keep them on the team, which would lower movement and make a player want to stay and also allow the team to build around them.