Caramelize onion in olive oil with sugar and salt in a heavy skillet over medium low-heat. Stir occasionally to prevent scorching, but do not stir too often. They will brown better if left alone. After 5 minutes of cooking, cover the pan (the lid keeps moisture inside so the onions won't burn easily). Cook until brown and very soft, 20-25 minutes. Stir in the port, scraping up any brown residue left on the bottom of the pan; cool onions slightly.
Blend cheese, yogurt, mayonnaise, Worcestershire and lemon juice in a bowl.
Add cooled onions, scallions, salt and cayenne to taste; stir to blend. Cover and chill at least 2 hours but 24 hours is preferred. The dip really changes flavor over that time.