De hecho, es posible hacerlo Object.create. No funcionará para propiedades "no definidas". Pero para los que se les ha dado un valor predeterminado.
var defaults = {
a: 'test1',
b: 'test2'
};
Luego, cuando crea su objeto de propiedades, lo hace con Object.create
properties = Object.create(defaults);
Ahora tendrá dos objetos donde el primer objeto está vacío, pero el prototipo apunta al defaultsobjeto. Probar:
console.log('Unchanged', properties);
properties.a = 'updated';
console.log('Updated', properties);
console.log('Defaults', Object.getPrototypeOf(properties));