Ho risolto prendendo spunto dal suggerimento di mega69... Posto il codice esemplificativo della soluzione:

codice:
__oggetti = new Array();

function retrieveObject(arrayToSearchIn, attributeName, attributeValue)
{
  var
    i = 0;
  while (i < arrayToSearchIn.length && eval("arrayToSearchIn[i]." + attributeName) != attributeValue) ;
  if (eval("arrayToSearchIn[i]." + attributeName) == attributeValue)
      return arrayToSearchIn[i];
  else
    return null;
}

function nomeOggetto()
{
  this.nomeVariabile = null;
  this.altroOggetto = null;
  this.oggettoUno = null;
}
nomeOggetto.prototype = 
{
  creaOggetto = function(altroOggetto, valoreVariabile)
  {
    this.nome = altroOggetto.getAttribute("id") + "aaa"; // nome generato utilizzando l'id di un parametro
    __oggetti.push(this);
    this.altroOggetto = altroOggetto;
    this.nomeVariabile = valoreVariabile
    this.oggettoUno = document.createElement("img");
    // creazione di altri oggetti utilizzando document.createElement

    this.oggettoUno.genitore = retrieveObject(__oggetti, "nome", this.altroOggetto.getAttribute("id") + "aaa");

    this.oggettoUno.onmousedown = function()
    {
      this.oggettoUno.genitore.notificaValoreVariabile;
    }
    altroOggetto.appendChild(oggettoUno);
  },
  notificaValoreVariabile = function()
  {
    alert("Valore di nomeVariabile = " + this.nomeVariabile);
  }
}

onload = function()
{
  tmp = new nomeOggetto();
  tmp.creaOggetto();
}
Grazie a tutti per l'interessamento...