Preheat the oven to 190°C. Put the cranberries in a small saucepan with the orange juice and port and heat gently to just before the boil then remove from the heat. Set aside to cool.
Melt the butter in a large frying pan. Add the onion, celery and rosemary and fry gently for 10 minutes until soft. Remove from the heat and stir in the orange zest, breadcrumbs, eggs and the cranberry mixture. Season with salt and freshly ground black pepper. Use about half the mixture to form 12 stuffing balls and set aside.
Line a roasting dish with a sheet of baking paper. Arrange the remaining half of the stuffing in a pile in the centre and top with the chicken, skin side up. Smear over any glaze from the pack. Roast for 30 minutes then add the stuffing balls and roast for 45 minutes until the chicken is cooked through and the stuffing balls are golden. You may need to cover the chicken with foil part way through roasting.
Place the chicken on a warmed serving dish and cover with foil. Sit in a warm place for 10 minutes to rest before slicing. Serve with the stuffing balls and blanched asparagus.