Right now the below code produces CONTENTS output with no variable labels (or, the var names are repeated in the labels, which is about the same).  That's a shame because Teradata has a nice field (and even table) commenting feature that seems to me the exact analogue of SAS' variable labels.
 
It should be possible to have these labels go into & come back out of the server's metadata tables.
 
  libname td teradata &td_goo ;
  data with_labels (label = "A nice descriptive label") ;
    x = "Hey" ;
    y = "Ho" ;
    z = "Let's go!" ;
    label 
      x = "The first word of the chorus"
      y = "The second word of the chorus"
      z = "The third word of the chorus"
    ;
  run ;
  data td.labels_gone ;
    set with_labels ;
  run ;
  proc contents data = td.labels_gone ;
  run ;