I don't think there's an easy way around this. I would open up the resistor-power.lbr library on its own, in the library editor, open up the first footprint (ACO1), change the major grid to 10mm, then go through each one and note those that are close. There's usually some kind of logic to the footprint names and numbers -- for this library, it appears the letter prefix denote a width class and the number denotes length. EDIT1: I went and did this, and none are 47mm wide.
EDIT2: After looking at the datasheet, it appears it is 47mm long and only 9mm wide, which fits HPS947. (KH216-8, RS10-38-39, and RWM8X45 also seem to fit... sorta.)
In almost every PCB design you will be making your own parts. I find it useful to make a new EAGLE library for every project, and copy all used part into it. The easiest way to make a new part, if it's just a variation of another, is to copy symbols and possibly even footprints into a new layout, then edit them. For this part, you can copy the power-resistor.lbr > R symbol by opening it up as if you were going to edit it, selecting the whole thing with the Group function, then copying the group with the Copy function (click Copy button, right-click previously grouped symbol, select "Copy: Group". This puts the whole thing into your Paste Buffer:
- <-- (that button)
Open up a new library, example.lbr, then create a new symbol (Library > Symbol). Click the Insert Paste Buffer button ( ^-- that button). The copied symbol should come up, labels and all -- click on the crosshairs to line it up with the symbol anchor. I usually make my own footprints simply to remove all doubt in the library specs, but they can be copied using the same method. Another way to copy a part is to copy the entire library and rename it, then edit the entire thing. Sparkfun also has a pretty good tutorial on making parts.
Also, when I make my own parts, I fill out the caption so I won't have to browse the footprints directly in the future!
What you're describing can be done in the Eagle library manager. Essentially, Eagle will treat your aggregate component as an integrated circuit. You can create a PCB footprint in Eagle, with multiple pads. For example, pads 1 & 2 are the LED, 3 & 4 are resistor. Eagle allows to draw wires in the component editor. When you route the rest of your board, these wires will be fixed to the footprint and will not be routable.
If you are going to assemble your board with a pick & place, you will need coordinates for the components. Eagle will produce only one (1) set of coordinates for your aggregate part, even though it has several separate parts. You would need to find a way around this. But, if you'll be assembling the boards manually, you will not have this problem.
Other design packages (OrCAD, Altium) support hierarchical blocks. At a minimum, hierarchical blocks let you reuse schematic. Some EDA software supports hierarchical blocks with PCB layout reuse.
Best Answer
Yes you cannot place vias in a package design.
Instead of it you can use pads with different shapes.
You can use the tool on the left or you can use the command like this:
PAD [diameter] [shape]
For a round pad (like a via) you can type:
pad 1.2mm round