Thermocouples do not measure temperature directly, but the difference between the cold junction and the hot junction. To make a practical temperature sensor, you need to know the cold junction temperature. The ice water is a crude way of doing fixing that temperature at 0C, but the MAX6675 and similar chips use a thermistor to monitor the cold junction temperature and thus determine the absolute temperature at the hot junction.
The MAX6675 is obsolete, the replacement part is the MAX31855 - its not a drop in replacement, but it may be cheaper to obtain. The major difference is that the 31855 runs on 3.3V where the 6675 is happy with up to 5V. Since you're doing your own electronics, go for the cheaper option. Its a simple SPI interface and all reprap firmware can read from either chip.
The other common option is the AD595 chip. This one converts the voltage from the thermocouple to a voltage the arduino can read, making for a simpler interface. Again, all reprap firmware can read an AD595.