With nmcli, I can modify VPN data like this:
nmcli con modify myvpn vpn.data 'refuse-pap = yes, user = xxx' So I'm wondering if I can set password this way as well?
Yes, you can modify the value of any property with nmcli. In this case, you would use:
nmcli con modify "myvpn" vpn.secrets "password=myverysecretpassword"