Ну в принципе так и дожно быть, в случае с $DATA gnuplot вызывал шелл, которому передавал строку "cat $DATA" подставлял вместо $DATA содержимое данной переменной и запускал cat, а в случае с "$TITLE" shell не вызывается, а сам gnuplot не занимается подставновкой значений переменных середы, так что через sh-скрипт правильный путь :)