Sicher kann man ARM CPUs übertakten. Gehört bei Android schon zum Standard, wenn der Kernel veröffentlicht wurde. Man kann da auch noch einiges rausholen.
Mein Hero konnte ich von 528MHz, stabil auf 710MHz takten. Es gibt halt in der Fertigung Toleranzen. Das heißt jede ARM CPU kann anders übertaktet werden. Sogar bei den Geräten selbst, sind verschiedene Taktfrequenzen möglich. Der eine kommt auf 710MHz, der andere nur auf 691MHz. Bei den neueren Androiden, die mit 1GHz laufen, kann man bis zu 1,2GHz rausholen. Mit Ausnahme jetzt mal von dem neuen Nexus, wo dann kein Bluetooth geht.
Die Temperatur ist hier wirklich das geringste Problem. Jetzt kommt das große ABER, man merkt meistens nichts von der Übertaktung. Die Unterschiede sind meistens so marginal, dass man es ehe nur in einem Benchmarktest sieht.
Speicher und CPU kann man nicht so einfach austauschen, da ein iPhone ein abgestimmtes System ist. Bei PCs, kannst du die CPUs austauschen, weil sie alle die gleiche Sprache sprechen. Bei einer ARM Architektur lässt man sich einen ARM Chip konstruieren. Der ARM Core, spricht dann die gleiche Sprache, aber alles was z.B Apple dann drumherum anbringt oder eher gesagt anbringen lässt, kann ganz speziell sein.
Speicher wird man aus zwei Gründen auch nicht tauschen können. Die Bauweise ist viel zu klein. Wenn der Speicher als eigener Chip aufgebracht wird, dann wird dieser verklebt und nicht gelötet. Das ist alles so klein, dass man das vergessen kann. Auch das OS wird dafür nicht ausgelegt sein. Heißt, du baust dann statt 256MB 768MB ein. Das OS verwaltet aber nur 256MB. Heißt du hättest im Endeffekt nichts davon, da das OS nur 256MB adressiert.
Übertakten beim iPhone ist mir auch nicht bekannt. Da der Kernel nicht offen gelegt werden muss, da Apple wohl einen eigenen benutzt, der nicht unter GPL steht, wird man da auch nichts machen können.