In a large saucepan over medium high heat, bring the lentils, onions, salt, and pepper to a boil. Reduce the heat and simmer for 17 minutes, until the lentils are soft but not mushy. Remove from heat and set aside.
Butter both sides of each slice of bread, place the bread in a large skillet over medium high heat and cook for 1 minute, or until golden brown. Flip the bread over and toast the second side for 1 minute, or until golden. Remove from skillet.
Spread a thin layer of mayonnaise (if using) on top of each slice of toast then top with the hot lentils, cheese, lettuce, tomatoes, black olives, and red onion.
Drizzle with the ranch dressing (if using) and serve.