I won't go through all the LCD stuff (mine is a little customized), but here are the important bits (don't have a fancy formatter yet):
//create some strings to index into for displaying the big numbers
// Â Â Â Â Â Â Â Â Â Â Â 0 Â Â Â Â 1 Â Â Â Â 2 Â Â Â Â 3 Â Â Â Â 4 Â Â Â Â Â 5 Â Â Â Â 6 Â Â Â 7 Â Â Â Â 8 Â Â Â Â 9
char bignumchars1[]={4,1,4,0, 1,4,32,0, 3,3,4,0, 1,3,4,0, 4,2,4,0, Â 4,3,3,0, 4,3,3,0, 1,1,4,0, Â 4,3,4,0, 4,3,4,0};
char bignumchars2[]={4,2,4,0, 2,4,2,0, Â 4,2,2,0, 2,2,4,0, 32,32,4,0, 2,2,4,0, 4,2,4,0, 32,32,4,0, 4,2,4,0, 2,2,4,0};
...
//cycle through printing out 0 to 9
void loop (void){ Â Â
 for(int x = 0;x<10;x++){
  lcd.gotoXY(0,0);
  lcd.print(bignumchars1+x*4);
  lcd.gotoXY(0,1);
  lcd.print(bignumchars2+x*4);
  delay(1000);
 }
} Â Â
...
void setup (void){ Â
...
//creating the custom fonts:
 LcdCommandWrite(B01001000);  // set cgram
 byte chars[]={
  B11111,B00000,B11111,B11111,B00000,
  B11111,B00000,B11111,B11111,B00000,
  B00000,B00000,B00000,B11111,B00000,
  B00000,B00000,B00000,B11111,B00000,
  B00000,B00000,B00000,B11111,B00000,
  B00000,B00000,B00000,B11111,B01110,
  B00000,B11111,B11111,B11111,B01110,
  B00000,B11111,B11111,B11111,B01110};
   Â
  for(byte x=0;x<5;x++)   Â
   for(byte y=0;y<8;y++)   Â
     LcdDataWrite(chars[y*5+x]); //write the character data to the character generator ram  Â
...
}
Course the technique isn't limited to numbers, or a 3x2 character box, or 16x2 LCDs.