It's not the MCU's job to drive those many LEDs directly, so you shouldn't look into increasing your MCU sink/source capability. Instead you should make your MCU drive transistors that, in turn, would drive the LEDs.
One common configuration to achieve what you want is called a LED matrix, in which you have two sets of transistors (or IC drivers): one set controlling the rows and another controlling the columns. In this configuration, you'd usually multiplex the LEDs in the matrix, by having only one column turned on at a given time. At the same time, you'd turn on the specific LEDs you want in that column. Then you'd turn each column and row real fast to give the user the impression that the whole matrix is on all the time. That's what's called multiplexing and it's based on a property called persistence of vision.
In this setup, you'd normally use shift registers (such as the 74HC595) combined with Darlington transistor arrays (such as the ULN2003A), using one output pin per column and row. You only need 3 pins to control the shift registers (you can daisy-chain them together).
Here's a more detailed example on how to build a LED matrix: