Similar to what John Munsch said, you can create a "map" of your events beforehand so that you don't have to keep calling a function to get your event name. Underscore even provides a function that makes it easy to do.
in your controller
$scope.eventsById = _.indexBy($scope.events, "eventId");
in your html
<span ng-repeat="eventId in user.eventIds">{{ eventsById[eventId].eventName }}</span>
What I like better about this method is that you only need to loop through your events array once, John's answer will do one loop per change in user.eventIds
and your current solution does a loop for every single output of ng-repeat