How to extend end date limit for Membership?
I just replicated this problem - but I was able to successfully change the end date limit on the "Date Preferences" page that you said wasn't working.  Under Administer menu » Customize Data and Screens » Date Preferences, you can change the "activityTime" values and this will update the Membership end date.

The language on the page is a little vague: 


  Date for activities including contributions: receive, receipt, cancel. membership: join, start, renew. case: start, end.


IMO it should read:


  Date for activities.  Also the date for contributions (receive date, receipt date, cancel date), memberships (join date, start date, end date), and cases (start date, end date).


Regardless, here's screenshots proving I've extended the end date from 10 to 15 years: