There is an integrated circuit (IC) called the MAX7219 that is designed to drive 7 segment LEDs. Specifically, one IC can drive 8 at a time. It also has a second mode which allows a single IC to drive 64 LEDs in a matrix. Putting it another way, in your example, one MAX7219 could drive 8 columns of 8 LEDs per column. The MAX7219 is drive by a protocol called SPI. Since the MAX7219 is an "input" only device ... one needs 3 pins to drive it. A clock, a chip select and a data pin. If you want to drive multiple MAX7219s you have some choices. First, the MAX7219 can support daisy chaining to any length you desire. For example, if you used 10 MAX7219s you would have an 80x8 array. If you used 20 MAX7219s, you would have a 160x8 array.
An alternative mechanism (one I don't necessarily recommend) is to have all your MAX7219s share the same clock and data line and use the chip select to specify which instance you are writing to.
A whole different approach would be to use NeoPixel LEDs. These are LEDs that can illuminate in a variety of colors and brightness's with usually 8 bits for each of red, green and blue. These LEDs can be "chained together" with no obvious limit to their length. You could then "snake" a chain of NeoPixels either up/down or left/right achieving the matrix you desire. Because NeoPixels are highly timing sensitive, I use a cheap Arduino as the driver for the NeoPixels and then drive the Arduino through communications from the Pi ... basically an Arduino becomes an LED driver module with the content logic coming from the Pi.