Here are the answers to your questions:
1. Unfortunately there is currently no option to synch between the .tstest and the generated unit test. Generation is performed one time, so if you make changes to the .tstest test you have to generate a new unit test to have the changes included in the newly generated MS unit test
2. This is correct - you are unable to use the Data object in the generated unit test - the generated test extends the class BaseTest, which does not support Data object - it is available in BaseWebAiiTest, which is not available in the unit test. However you can still use and work with the data from the external file, but not through the Data object, but from TestContext.DataRow
3. The answer is the same as from point 2 - you don't have GetExtractedValue method in the unit test, but you can use instead a simple assign to a variable from the data source:
string Name = TextContent.DataRow["Name"].ToString();
The above suggestions should make your code work fine - please try it and let me know if you face any other issues.