Bring a large pot of lightly salted water to a boil. Add macaroni and cook for 7 minutes or per package directions. Drain, rinse with cold water (this prevents your noodles from sticking), and set aside.
Melt butter in a saucepan over medium heat. Whisk in flour to create a roux, cooking until bubbly. While whisking, add the milk in a thin stream. Season with salt, black pepper, garlic powder, and cayenne pepper. Bring to a simmer and cook for 2 minutes.
Remove from heat and mix in about half of your cheese. Fold in macaroni, then stir in the remaining cheese. (Don’t fret if there are still some visible strands of shredded cheese at this point. It’ll melt once it comes time to fry).
Spread mac and cheese onto a parchment paper-lined rimmed baking sheet. Cover with plastic wrap and refrigerate overnight.
Use a cookie scoop to spoon out about 3 tablespoons of the mixture at a time and shape into 2- to 3-inch balls, compressing slightly. (Your hands will get messy).
Whisk eggs with 2 tablespoons of milk. Dip the macaroni balls into the egg mixture, then coat in the panko bread crumbs. (Optional: re-dip in the egg mixture and double coat for an extra crispy outside). Place the coated macaroni balls on a parchment paper-lined baking sheet in the fridge until they're all made and ready to fry.
Heat the oil in a deep, heavy-bottomed pot to 360°F (180°C) on a deep-fry thermometer. Gently place 3 to 4 mac and cheese balls into the oil at a time and fry for 3-4 minutes per batch, until golden.
Drain briefly on a paper towel-lined plate; serve hot & ENJOY!