See the ContactsApp and the CalendarApp from Google Apps Script.
- CalendarApp
- ContactsApp
Create new Event, Retrieve Contact (getContactsByName), Retrieve address, setLocation
EDIT: wrote a small snippet that does the trick:
function CalendarEvents() {
// create application
var app = UiApp.createApplication();
// get contact
var contactByMail = ContactsApp.getContactsByEmailAddress('an e-mail');
// get location
var location = contactByMail[0].getAddresses()[0].getAddress();
// set date
var date = new Date("November 22, 2012");
// fetch calendar
var cal = CalendarApp.getCalendarById('your e-mail')
.createAllDayEvent("test", date, {location:location});
//return to application
return app;
}