Arduino UNO and WiFly shield, powerful enough?

Hi everyone! I apollogize if this has been asked before and I couldn't find the topic in the forum.

I'm using a WiFly/UNO combo in a small project that gets data from the web. I use an access point in my house but I've been thinking on using a small LCD and a keypad to scan for nets, select one and enter the password with the keypad. That way I could give it to others and they could connect from their homes of offices.

Is the UNO powerful enough to acomplish these tasks?
My project consumes already around a 40% of available memory.
Will I run out of RAM/Program space if I try to do this with the UNO?
Should I get a Mega or a Due or a Zero, instead?

Also, I'd like to save the settings (SSID and pwd.) of the last net used. Can this be done by writing to the UNO EEPROM or should I get a storage shield like an SD card shield?
I'd like to do all this with the minimum hardware by optimizing the code, but I see the curent project is eating almost half of the space. Is this possible with the humble UNO?

Thank you in advance.

Is the UNO powerful enough to acomplish these tasks?

That depends on how you define powerful. In general, that is a silly term to apply to computers. Computers have memory limits, clock speeds, bus widths, etc. that are measurable and comparable. The UNO has enough flash memory to do what you suggest. Whether it is fast enough, we can't say, because your speed requirements are unknown. Whether it has enough SRAM is unknown, because you have not shown what you intend to store in SRAM.

Will I run out of RAM/Program space if I try to do this with the UNO?

Adding a keypad and writing data to EEPROM won't add that much code.

Can this be done by writing to the UNO EEPROM

Yes.