In a user program, I know that the first two bytes are size bites, are the next 8 or less the name?, if it is is it null terminated.
Nope, the data comes right after the size bytes.
Variable names and flags aren't part of any variable except when it's archived. All that stuff goes in the VAT. (That's why if you have two VAT entries pointing to the same address, you can edit one variable and watch the other change too