To create a DOM element, you use document.createElement, like this:
var elm = document.createElement('div');
That elm will already have a property called style; you can then assign to its members, e.g.:
elm.style.width = div.style.width + "px"; // Remember this is CSS, you need units
A for..in loop on your div.style might be useful there, but do be sure to handle the units thing.
To attach event handlers to it, you can do the old DOM0 thing of assigning to onXyz properties, like this:
elm.onclick = div.sayHi;
...which will make it run the sayHi function on click, but a more modern way is via addEventListener:
elm.addEventListener('click', div.sayHi, false);
Older versions of IE don't have addEventListener, but they do have its MS-only predecessor, attachEvent:
elm.attachEvent('onclick', div.sayHi);
Note the difference in the event name, and it doesn't have the third argument.
All of this is academic unless you add elm to the page somewhere. :-) You can do that by getting a reference to another element on the page, and then calling appendChild:
someOtherElement.appendChild(elm);
More to explore:
Because of things like the addEventListener / attachEvent browser incompatibility and various other small things, and because they offer a lot of pre-packaged utility functionality, a lot of people (including me) use a JavaScript library like jQuery, YUI, Closure, or any of several others to help with this stuff.