Necesitas construir tu $set
objeto programáticamente:
var setModifier = { $set: {} };
setModifier.$set['directions.' + index + '.name'] = area.value;
Items.update(Session.get('selectedItem'), setModifier);
Actualizar
Si su entorno de JavaScript admite nombres de propiedad calculados (por ejemplo, node.js 4+), puede hacerlo en un solo paso:
Items.update(Session.get('selectedItem'), { $set: {
['directions.' + index + '.name']: area.value
}});