Java - 300 bytes
Golfed Version
static Long t=new Scanner(System.in).nextLong();static char[]c=t.toString().toCharArray();public static void main(String[]z){while(c.length>1)s();System.out.print(t);}static void s(){String s="";for(int i=0;i<c.length-1;)s+=Math.abs(c[i]-c[++i]);Long a=new Long(s);t+=a;c=a.toString().toCharArray();}
Ungolfed / Full version
import java.util.Scanner;
public class DigitDifference {
static Long t = new Scanner(System.in).nextLong();
static char[] c = t.toString().toCharArray();
public static void main(String[] args){
while( c.length > 1 ){
s();
}
System.out.print(t);
}
static void s(){
String s="";
for(int i = 0; i < c.length-1;)
s += Math.abs(c[i]-c[++i]);
Long a = new Long(s);
t += a;
c = a.toString().toCharArray();
}
}