Usually around this time of year I can find a bone-in rib roast for around $6 per lb and figuring 1 lb per person usually comes out about right. The great thing about a rib roast is as long as you don't overcook, it's hard to go wrong. There's a number of tricks for making a rib roast, but if all you do is coat it in vegetable oil, salt and pepper the outside, and slap it in a 350F oven til a remote meat thermometer reads 135F as close to the middle as you can get, then let it rest for 20 minutes or so, you'll get good results. After resting, the roast should come up another 5-10F depending on how big it is. This will give you about medium rare in the middle and progressively more done as you approach the ends. If all of your guests prefer medium or better, take the roast out at about 150F and let it coast up to 160F. Again there are a number of other tricks, but if all you do is this it will still be brilliant.
If you want a cheaper option, you can go with a pork shoulder roast which should run you about $1-1.5 per lb. Inject it with a marinade (include some liquid smoke if you want smoke flavor) about 8 hours prior to cooking, put it in a slow cooker on top of some cut up root vegetables (potatoes, onions, carrots, etc.). Use a meat thermometer and cook to 190F if you want to slice and 205F if you want to pull. Wrap in foil for 2 hours before pulling or slicing. Skim off the lard and run an immersion blender through the rest to make a gravy. Do all of this a day ahead and reheat when it's time to eat and your life will be easier.