Remove stems, wash, peel and cut ends of the bottle gourds and halve them. Core the length of each bottle gourd piece, leaving half-inch walls to form tubes. Combine all the ingredients of the marinade, rub the bottlegourd inside out with this marinade and keep aside for fifteen to twenty minutes.
Heat ghee in a kadai, drain and deep-fry the marinated bottle gourd pieces on medium heat till cooked. Drain onto an absorbent paper and cool. To prepare the filling, sauté khoya in a thick-bottomed pan till light brown. Remove and keep aside.
Chop eight to ten cashewnuts roughly and halve the rest. Keep the halved cashewnuts aside for garnishing. Heat ghee in a kadai, add chopped onions and sauté till pink.
Add the mashed potatoes, khoya, ginger, green chillies, coriander leaves, roughly chopped cashewnuts, almonds, sunflower seeds, raisins, garam masala powder and salt and sauté for two to three minutes.
Transfer the mixture onto a plate. When cool, add lemon juice, mix well and keep aside. Gently stuff the filling into each piece of fried bottle, compress to ensure it is firmly packed. Set aside.
To prepare gravy heat butter in a kadai. Add cashewnut paste and sauté for two to three minutes or till light pink. Add fried onion paste and red chilli powder and continue to sauté for a minute.
Add one cup of water, stir and simmer on low heat for two to three minutes. Add yogurt, salt and garam masala powder. Cook for a minute and remove from heat.
Arrange the stuffed bottlegourd in a serving dish. Pour gravy on top. Garnish with halved cashewnuts and serve hot.