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>