$ awk -F '|' 'BEGIN { OFS=FS } { split($3, a, ","); $3 = a[1]; $4 = a[2]; print }' file
122|abc |ds|we ||wrqg
145|dw |ett|335 ||nxd
166|rotl|qqqp|eoepepe||ge
776|gge |022 |||pp
039|pot |011a |||lot
What I'm doing here is that I split the 3rd field on commas. This assigns the split-up bits into the array `a` as separate array elements. I then set the 3rd field to the first bit, and the 4th field to the second bit (`a[1]` and `a[2]` respectively).
This assumes that the 3rd original field only ever contains a single comma (or no comma at all). If it contains more than one comma, you would lose whatever data comes after the second comma.