I think this is a brilliant idea. Provide the vendor what they think they need, but restrict them to one overall usage profile. "You need 3 servers all with 3GB RAM, sure, here you go." You're pretty sure they won't need all that memory at once, but you won't have development servers hogging all your resources if they do. Of course, if things don't work well for the vendor, someone WILL complain - but at least they can't complain at provisioning because in the OS they see that you've allocated 3GB per as requested.
However, with "Expandable Reservations," they really aren't being limited. Since you're having problems resetting this, I would just remove the VMs from the resouce pool, destroy it, and then recreate it as you wish. I didn't know there was one, but perhaps there's a restriction on going from expandable to non-expandable. Thought, if your VMs have memory reservations that total more than the Resource Pool they're a member of, it should throw an error. In your VM's resource allocation setup, make sure the total "reserved" memory is under your RP limit. (i.e. If you've allocated 3GB each, and set the resource reservation to 50% of that, you'll need a RP with at least 4.5GB reserved. But if they're set to the default of "0" reserved, then there shouldn't be any conflict.)