We define:
# print first and last argument fl() { local a=("$@"); printf "%s %s\n" "${a[0]}" "${a[${#a[@]} - 1]}" }
$ fl {a,b}--{c,d}--{foo,bar}--{x,y}--{m,n} a--c--foo--x--m b--d--bar--y--n
$ mv $(fl path/{from,to}/subdir/{foo,bar}.png)