You can declare a parameter when you are packaging to identify the part of the web.config that you would like change. And set the default value if you know at packaging time what the new value should be. A parameter of XMLFile type is probably the best choice for web.config.
On install the user can choose to change the value to another value and it will be applied into web.config.
Parameterization is currently the only path for modification of web.config..
Also web.config is currently considered just another file in the application so if you are sync'ing to an exisiting app with a new web.config that web.config will overwrite the one on the destination. The system will not go into the sections and compare each individually.