My UPS powers one 120V AC device and a whole bunch of small 'bricks' that end up rectifying things down to 5-12V DC. Instead of using the 'bricks', my idea is to tap the battery directly, and use DC-DC converters to get down to desired voltage. Would this result in better efficiency? Would it even work? Any potential pitfalls?
Most small UPSes are so-called "off-line" systems. When grid power is live, they feed input AC directly through to the output. In parallel, they trickle-charge the batteries. When grid power fails, they quickly switch to inverter mode, where the batteries are discharged into an DC->AC inverter to power the downstream loads.
For your application, an off-line UPS wouldn't work for a number of reasons, with the primary risk being that the trickle charger can't keep up with a full load (now DC).
In contrast, an "on-line" UPS feeds all power through the battery bus, such that it's all converted to DC, then re-inverted to AC. On power-loss, the AC->DC front end simply powers down and the DC-AC inverter continues to operate off batteries. This might work for your application, though it's impossible to determine if the ripple on the DC bus would play nicely with your loads.
As to efficiency, the efficiency of the "on-line" UPS is less than that of an "off-line" UPS, as there is an extra AC->DC->AC conversion step at all times. Let's look at the normal power flow through each type of system:
Off-line, grid live: AC->AC(pass-thru)->DC(brick)
On-line, grid live: AC->DC(battery)->AC->DC(brick)
Direct battery tap - on-line, grid live: AC->DC(battery)->AC(DC/DC converter)->DC(DC/DC converter)->DC(load power)
To sum up, I'd expect the grid-live efficiency of an off-line UPS running DC/DC converters to run power bricks to be less efficient than an on-line UPS powering loads directly.