I hear you. But I only agree with you partially in terms of "its not fair to expect all questions to be straight forward queries related to TestNG" because the moment we start getting side-lined with questions that are in no way directly related to TestNG, we are in-fact opening up the forum for a plethora of queries that may in-fact add noise in this forum and thus make it a bit more difficult for TestNG enthusiasts/users etc., to search for answers in this forum for their TestNG specific queries.
TestNG by itself doesn't associate itself with any test case management systems/approaches etc., at-least that is my understanding.
So expecting a solution that is built on TestNG to solve a particular problem, in a forum that is related to only TestNG and its uses, IMO kind of sounds a bit off.
To answer to your question :
>>>I wanted to know if testng itself provides a way to tie a test case to its test spec.
To the best of my knowledge, NO, TestNG doesn't provide any way in which you can tie a test case to its test spec.
That IMO, would be the job of a test case management system that supports test runners such as TestNG.
With respect to any testng plugins, again, I don't think there are any that is provided out of the box by TestNG. Googling for it would be a good start IMO.
You can try looking at cucumber-jvm for writing your test-specs and then try and map them to TestNG tests.
PS : I have never tried doing any of this, nor do I possess any SME knowledge in any of this, so your mileage may vary.