Cover the eggplant with water in a bowl and add about 1 1/2 tablespoons salt. Soak 30 minutes. Drain eggplant and squeeze by handfuls to remove excess moisture, then pat dry.
Heat 2 tablespoons oil in a 12" nonstick skillet over medium high heat until hot but not smoking, and sauté eggplant, stirring occasionally, until tender and browned, about 7 minutes. Cool eggplant.
Cook onions in remaining 2 tablespoons oil in a 3-4 quart heavy saucepan over medium heat, stirring, until softened. Add rice and cook, stirring, 2 minutes. Add 1 1/2 cups water, raisins, remaining 1/2 tablespoon salt, cumin and cinnamon and bring to a boil. Reduce heat to low and cook, covered and undisturbed, until rice is tender, about 12 minutes.
Fluff rice with a fork and gently stir in tomato and eggplant. Let stand, covered, 5 minutes. Uncover and cool 10 minutes. Stir in dill, then transfer pilaf to a serving bowl or platter and sprinkle with pine nuts(or pistachios).
The pilaf can be made 1 day ahead and chilled, covered. Reheat in the microwave.
Makes 6 servings.