If you want watering percentage to be adjusted on a day to day basis, I don’t think it’s feasible to implement this in the firmware because it would require storing a full calendar and it would complicate the UI design. However, the easiest solution is to use an external script and OpenSprinkler HTTP API to send the daily percentage value to OS that way. The API document is here:
https://openthings.freshdesk.com/support/solutions/articles/5000716363
to send watering percentage / level, you can use the /co (change options command) and the parameter is wl (water level), like this:
http://your_os_ip/co?pw=md5_hash_of_your_password&wl=value_you_want
Most scripting languages support sending HTTP command. Similarly a lot of custom features can be implemented by using an external script and leveraging the HTTP API, instead of requiring these features to be implemented in the firmware.