You would program them on the ground before launching? Not trying to send messages to them as they fly?
'328P has 2K EEPROM, can develop a protocol that inteprets each byte for a symbol.
Use 7 bits for 128 characters, 8th bit to indicate if there is a letter pause or a word pause between letters.
So 0x00 for letter to letter pause, 0x80 for word to word pause.
A stripped arduino board with FTFI header and 20 LEDs all driven at the same time would be easy to implement.
Add an inexpensive 315/434 MHz receiver to download a message wirelessly.
Couple of pins used for dip switch jumper so each can be assigned an address.
3.7V LiPo battery, power the 328P directly, run at 8 MHz.
You need to define board size, thru hole or SMD, LED size, and add a transistor to drive 20 LEDs in parallel. Or boost the voltage and drive LEDs in series to cut down on current needs - 20 LEDs in parallel at 20mA each, or 4 strings of 5 LEDs powered at 12V and 20mA?