Oracle SQL ne prend pas en charge les assertions de contournement, ce qui serait utile dans ce cas :
s/([0-9](?<![0-9]))/0\1/g
Vous devrez utiliser au moins deux remplacements :
REGEXP_REPLACE(REGEXP_REPLACE(col, '([0-9]+)', '0\1'), '0([0-9]{2})', '\1')