If your iMac was built before April 2008, you have a Model Identifier: iMac7,1. If your iMac was built after April 2008, you have a Model Identifier: iMac 8,1.
Either of these iMac models can have their RAM upgraded to a total of 6GB (1 - 2GB module, 1 - 4GB module).
See this link here:
See this video for installing the RAM:
Both of these models have FireWire 800 and 400 ports, and USB 2.0 ports, so an external HD can be added.
The internal hard drive can be upgraded by an Apple Authorized Service Technician.