Personally, I think making logs float in water is a higher priority than beaver dams, but I'm certainly good with both. A correction, though:
Beavers only "cut" down (and eat the bark off of) younger, smaller trees, which the game considers saplings. Once a tree gets mature enough to be considered Woodcutter-worthy, it's too big for a beaver to handle. So beavers would thin out (perhaps even block entirely) the emergence of new trees within X distance from their stream. So beavers would essentially "create" wood, by taking trees that dwarves can't use (saplings) and collecting it to form dams, where the wood is concentrated enough to be called logs. Dwarves could access this wood either by disassembling the dam as they would a construction (displacing the dam's residents, if it's still occupied) . . . or if Toady implements rainstorms & flooding, the dam could break under the strain, washing its constituent logs downstream.
I think the main problem with beavers is calculating their pond: When a real-life beaver blocks off a narrow spot in a stream, the water level above the new dam is raised slightly, creating a small pond. But doing that in-game could flood potentially HUGE areas of the map (depending on the site's drainage), and be hugely expensive in terms of FPS. (It would work just fine in some locations--a map where the stream goes over two small waterfalls, and with only a narrow-ish gulch connecting them--but clearly, that sort of scenario is far too specific to be the only viable habitat for an entire species.)
So it'll be far more practical for the beaver dam to leave the water upstream unchanged in terms of z-level, and instead widen the flow: Once per month or so, one of the soil tiles bordering the stream gets replaced with water, and adjacent rock tiles are accordingly replaced with soil, until a "pond" of roughly appropriate dimensions is created. Of course, this has the potential of flooding your fortress, or otherwise putting water where you don't want it.