Close but no cigar!William's eldest son was named John (I don't know his middle name offhand) but he was born in 1816. I will see if I can find it.I got it from the 1820, I think, census of Talledegah Co., Ala.
Your John Gardner Stocks would be too young.My GGGrandfather was Thomas Heard Stocks and he was born in Ala in 1828.I think that the William Stocks branch left Ga for Ala sometime before then.
There are descendants of John Stocks (William's brother) still in Ga and I have talked with them.Maybe your John came from him.The other Stocks brother was Thomas who had no children so we can rule him out.
The Port Lavaca connection is interesting.I have a bay house near there.What do you have before John Gardner Stocks?Maybe we can match up there.