Preheat oven to 375F/190C. Dump the whole green chiles into a colander placed in the sink and let them drain while you prep the filling. When the green chiles are drained, move them to a cutting board and then put the black beans in the colander, rinse with cold water, and let drain.
Heat 2 tsp. olive oil in a large heavy non-stick pan, add the onions, and saute over medium-high heat until onions are browned, about 5-6 minutes. Remove onions to a small bowl. Add the other teaspoon of olive oil and the ground beef and cook 6-8 minutes, or until the beef is well browned, breaking it apart with the turner as it cooks. Add the taco seasoning and cook 1-2 minutes more.
Add the diced tomatoes and juice, drained black beans, and onions and turn heat to medium low. Cook until the liquid from the tomatoes has evaporated. (When you use the turner to push the mixture aside, the bottom of the pan should look nearly dry.)
While the meat mixture cooks use your fingers to open each of the whole chiles and then use a paper towel to wipe away the seeds and blot each chile as dry as you can get it. (You will need 6-8 paper towels to do all the chiles, but don't skip this step. If you don't remove the seeds, this dish will be extra spicy.) Divide the chiles into 3 piles as you dry them.
Spray the casserole dish with non-stick spray and make a layer of 1/3 of the chiles in the bottom of the dish. Top with 1/2 the meat mixture. Make another layer of chiles on top of the meat mixture, and top with the other 1/2 of the meat mixture. Finish with a top layer of the last 1/3 of the chiles.
Beat the eggs and then whisk in the cup of Green Chile Enchilada sauce. Pour this over the casserole and then use a fork or knife to gently push the ingredients aside so the egg/sauce mixture can run down into the layers. Top with the grated cheese and cover the casserole dish with the lid or foil.
Bake covered for 30 minutes, or until all the cheese is melted and the casserole is starting to bubble. Remove the lid or foil and bake 20-25 minutes more. If you want the top well-browned, switch to broil the last few minutes and brown the top. This is easier to serve if you let it sit for about 10 minutes before cutting. Serve hot, with a dollop of low-fat sour cream on top if desired