I have struggled with this as well. Generally, my way around this was to set the streetWidth attributes in python in GIS then import into CityEngine, but my focus was creating hundreds of cross sections. In a Street Rule, I don't think it is currently possible to have a CGA parameter set a shape parameter (as much as I wish it was possible). In most urban planning use cases it is less annoying because we typically assume we have to keep the ROW constant (so changing sidewalk and street width is a more intentional action).
If your use case is in entertainment, you could write a python script that reacts to your 'width' attribute by setting the streets to match that width. The python examples for setAttribute provide some good code samples. This however would require running your script in the background or when you want to change all your widths. Not great, but a "solution".
David Wasserman, AICP