I DID IT! Thank you, all, for your input!
I've shrunk the total byte size of my original 16 character LED display sketch from over 3.2K down to about 1.6K! About 1/2 the size, and accomplishing the same goal! I'm finally starting to "get" C++ programming... altho I'd say I'm only into it about ankle deep... but that's better than when only my toes were touching the water, when I first started this project!
My next project will be to figure out how to SCROLL longer messages. For now, this sketch works PERFECTLY for displaying 16 character messages.
// Message to display
char Msg[] = "Willie did it!:)";
// 16 chars "................" for the display
// datapins; least significant bit first (16 Char display)
const byte datapins[] = {10, 9, 8, 7, 6, 5, 4, 3};
// Write BYTE value as parallel bits on pins for Conctrol
void WRITEC(byte C)
{
 for (int bitcnt = 0; bitcnt < 8; bitcnt++)
 {
  // value (0 or 1) using bitmask to check if a bit in the character is set or not
  bool bitvalue = (C & (1 << bitcnt)) == (1 << bitcnt);
  // set corresponding output
  digitalWrite(datapins[bitcnt], bitvalue);
 }
 Pulse(11); //Write the parallel data to Master Control register
}
// Convert ASCII character into parallel bits on pins for Display
void WRITED(char D)
{
 for (int bitcnt = 0; bitcnt < 8; bitcnt++)
 {
  // value (0 or 1) using bitmask to check if a bit in the character is set or not
  bool bitvalue = (D & (1 << bitcnt)) == (1 << bitcnt);
  // set corresponding output
  digitalWrite(datapins[bitcnt], bitvalue);
 }
 Pulse(12); //Write the parallel data to a character in the display
}
//Pulse a designated pin; 11=Master CTRL, 12=Display
void Pulse(int P)
{
 digitalWrite(P, 0);
 delay(2);
 digitalWrite(P, 1);
}
void InitDisp() //Initialize the display
{
 WRITED(0x80); //Clear the display in selected char cell
 delay(2);
 WRITED(0x0D); //Turn off Clear Display bit and set parameters (D=25% bright, E=50%, F=100%)
}
// the setup function runs once when you press reset or power the board
void setup()
{
 delay(100); //Allow display to init internally with tri-state pins
 // initialize digital pins as outputs.
 for (int x = 2; x < 14; x++)
 {
  pinMode(x, OUTPUT);
  digitalWrite(x, 0); //Set ALL pins 0 to start
 }
 delay(2);
 digitalWrite(12, 1); //Set both Write pins high. (Pluse low to write)
 digitalWrite(11, 1);
 Pulse(11); //Write $00 to Master CTRL Word, which also sets displays for CONTROL mode (AD2=0)
WRITEC(0x40); //$40 to raise DISPLAY RESET to NORMAL and select Display 0
InitDisp(); //Initialize the selected display
WRITEC(0x44); //Set $44 to keep reset high and select Display 1
InitDisp(); //Initialize the selected display
WRITEC(0x48); //Write $48 to keep reset high and select Disp 2
InitDisp(); //Initialize the selected display
WRITEC(0x4C); //Write $4C to keep reset high and select Disp 3
InitDisp(); //Initialize the selected display
WRITEC(0x50); //Write $x0 for leftmost digit (Digit 0, Disp 0)
       //$5x to keep Reset high and set displays to DATA mode (AD2=1)
// START WRITING CHARACTERS NOW
// for each character in the string Msg
 for (int charcnt = 0; charcnt < 16; charcnt++)
 {
 byte CTRL = 0x50 | charcnt; // Logical OR 0x50 with count for Master Control
 WRITEC(CTRL); //Write the control word
 WRITED(Msg[charcnt]); //Place ASCII character onto DATA pins & send to display
 }
} // End of SETUP routine (Init & write message to the displays)
// The LOOP portion "blinks" the eyes, and indicates the Arduino is running
void loop() {
WRITEC(0x5E); //Set 2n'd to last digit
 delay(2000);
WRITED('|'); //Pipe char resembles closed eyes
 delay(100); //Blink eyes for smiley character at end of message
WRITED(':');Â //Open eyesÂ
}