If I get it right,
You only need to convert the IP addresses at the moment that you intend to display them. So, you may store the numbers in 4 byte format (what about IPV6?). So theoretically there is no real limit.
4 bytes with 256 addresses would generate 1K size array max.
once you start to display it on an LCD, you can convert it send it to the display and use the same storage for the next IP address. Once it is transferred to the LCD, the variables used to generate the text version of the IP address can be reused again.
IPv6: I'm just happy that the reason I'm building this are actually using IP.
If ICMPPing and the W5100 would support v6, I'll add it. But that's for the future.
For the display & use same storage: I found a function that will scroll through an array, and display array and array [i+1] until you press a button, and then it will increment i and display array and array[i+1] until it's completed. Because of that, I need to keep however many IP addresses it finds.