Here's what you can do: first subset only the months you need, then split them by year. Using dummy data:
x <- as.xts(zooreg(1:2000, start = as.Date("2000-01-01")))
split(x[.indexmon(x) %in% 8:11], f="years")
The idea with .indexmon
is given here.