Attempting to change the organization name programatically would be dangerously unstable since it's referenced throughtout the application.
You may be able to create an alias for your server to serve this purpose.
Other than that - create a new organization with a name that meets the criteria and perform a data migration from your current organization to the new organization. (Long, slow and tedious process.)
Once installed, the organization name used in the URL cannot be changed. (The display name can be changed, but that does not update the URL.)
Scott Sewell, CustomerEffective | http:\\blog.CustomerEffective.com | Twitter:@ScottSewell