1.) also mir ist keine möglichkeit bekannt.
2.) das geht:
<img src="datei.jpg" onclick="this.src='anderedatei.jpg'" alt="">
this ist nur innerhalb de objektes zu verwenden.
oder um verschiedene bilder einbinden zu können:
<img src="datei.jpg" name="bild1" onclick="anderebild(this)" alt="">
function anderebild(obj)
{
obj.src='anderedatei.jpg'
}