Have a look at the BindingUtils in the flex docs. That will enable
you to programatically bind properties in actionscript. Make sure the
properties you're binding to in your model are marked [Bindable].
As for creating buttons in actionscript, you create them like any
other object and use the container's addChild and/or addChildAt methods:
<mx:Panel id="myPanel" />
<mx:Script>
<![CDATA[
import mx.binding.utils.BindingUtils;
[Bindable] public var buttonLabel:String = "Hello World";
var myButton:Button = new Button();
BindingUtils.bindProperty(myButton, "label", buttonLabel);
]]>
</mx:Script>