Here is one way to do this:
awk 'BEGIN{FS=OFS=", "}{for(i=1;i<=NF;i++){gsub(/{|}/,"",$0);sub(/[^".?]+/,"{&}",$i);print}}' file
$ cat file
{One day}, {the cat said to the owl}, "{Owl}, {would you like to climb the mountain}?"
{The owl replied}, "{Yes}, {I would}."
{So the cat and owl climbed the mountain}.
{The next day}, {they went to the ocean}.
$ awk 'BEGIN{FS=OFS=", "}{for(i=1;i<=NF;i++){gsub(/{|}/,"",$0);sub(/[^".?]+/,"{&}",$i);print}}' file
{One day}, the cat said to the owl, "Owl, would you like to climb the mountain?"
One day, {the cat said to the owl}, "Owl, would you like to climb the mountain?"
One day, the cat said to the owl, "{Owl}, would you like to climb the mountain?"
One day, the cat said to the owl, "Owl, {would you like to climb the mountain}?"
{The owl replied}, "Yes, I would."
The owl replied, "{Yes}, I would."
The owl replied, "Yes, {I would}."
{So the cat and owl climbed the mountain}.
{The next day}, they went to the ocean.
The next day, {they went to the ocean}.
Note. You can use [^[:punct:]]+instead [^".?]+of functions subto handle other punctuation characters.