+k for the excellent way to describe what you have and what you want to achieve (I am ignoring/correcting few mistakes) -- the style demonstrates the beauty of your faculty as an Assembly Language Programmer.
The following sketch may be helpful for you.
uint16_t myIP = 321;
char LCD_Line[] = "###-###- #####-#####";
void setup()
{
Serial.begin(9600);
foo(LCD_Line, myIP, 4); // Convert myIP to string and copy to char array starting at pos 4
// without adding null
Serial.println(LCD_Line);
//###-321- #####-#####
}
void loop()
{
}
void foo(char LCD_Line[], uint16_t myIP, int i)
{
char myArray[3]; //0 1 2
int j = 0;
do
{
myArray[j] = myIP % 10 + '0';
myIP = myIP / 10;
LCD_Line[i+2] = myArray[j];
//Serial.println(LCD_Line[i+2], HEX);
i--;
j++;
}
while (myIP != 0);
}

