Your version doesn't work. The only thing that can come between the possessive "John's" and the thing he possesses is an adjective. For example, "John's white shirt is now grey".
The only neat way to do it is to say "18-year-old John's shirt is white". No commas are necessary.
To keep the commas, you have to change the word order and lose the possessive - "John, 18, has a white shirt."
Student or Learner