Cover eggplant with water in a bowl and add 1 1/2 tablespoons salt. Soak 30 minutes.
Drain eggplant and squeeze handfuls to remove excess moisture, then pat dry.
Heat 2 tablespoons oil in a 12-inch nonstick skillet over moderately high heat until hot but not smoking, then sauté eggplant, stirring occasionally, until tender and browned, about 7 minutes. Cool eggplant.
Cook onions in remaining 2 tablespoons oil in a 3- to 4-quart heavy saucepan over moderate heat, stirring, until softened.
Add rice and cook, stirring, 2 minutes.
Add 1 1/2 cups water, raisins, remaining 1/2 tablespoon salt, 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 pistachios.
Pilaf can be made 1 day ahead and chilled, covered. Reheat in the microwave.