I have c6509 switch and there are two vlans (10,20) configured.
In Vlan10 is 300 users and vlan5 100 users. IP address for vlan10 is 192.168.100.1/24 and for vlan20 192.168.101.1/24.
Now we changed network mask for clients in vlan10 to 192.168.96.0/21. Of course client with ip address 192.168.102.123/21 cant comunicate with c6509 in vlan10 because there is old mask on interface vlan10. But i cant change mask on vlan10 interface to 192.168.100.1/21 because it is overlaping ip range in vlan20.
So now im searching for same acceptable solution, that will be best and easy.
I am glad that it looks like the configuration of secondary addresses is working. I believe that this can be a workable solution for your issue.
But I agree that the solution with re-addressing so that you keep 2 VLANs and only 2 subnets, with different subnet masks on the subnets is a more preferable solution. With appropriate static routes it should work just fine.