The minimum requirements should be something around 800+ MHz CPU and 256+ RAM/ROM. That should be for a stock ICS ROM. Custom ROMs on the other side, are developed for a specific device, so their minimum requirements may be different. This can be achieved by enhancing the ROM to be able to get almost the same features (or more depending on the custom ROM) as the stock ICS.
The downside of custom ROMs is that not all go as smooth as a stock ROM, since many of them have several core items modified and under certain circumstances they might fail (or don't response in a good manner).
If your phone is rooted and you have a custom recovery, I would suggest you do a nandroid backup to save the state of the phone as it is right now and give it a try to a custom ROM. If you find the custom ROM doesn't meet your expectations, you can restore the nandroid backup and recover your previous phone ROM.
For those who aren't familiar with nandroid backup, it creates an image of the entire phone (like Norton Ghost or Clonezilla), so if you mess something up you can recover your phone from that image.