Thanks you all for all consideration about this issue.
Thanks to Bob, I got to know how to create business object with reference attribute.
Below is how I did and hope that help others if they have same issue(if any).
//step 1. Get IEntityDefinition and set entity name to it
IExecutionContext context = engine.getExecutionContext(this);
IDomainVersion domainVersion = context.getDomainVersion();
IEntityDefinition defPerson= domainVersion.getEntityDefinition("Person");
//step 2. Get IEntityTemplate using IEntityDefinition above
IEntityTemplate tempPerson= DomainFactory.createEntityTemplate(defPerson);
//step 3. Set primitive data types(String, Long etc)
tempPerson.setAttributeValue("Name", "Brian" );
//4. Set Reference attribute
// Array size can vary depening on the situation.(I used one in my case)
ObjectReference[] refAddress = new ObjectReference[1];
refAddress [0] = new ObjectReference("Address", id);
tempPerson.setReferences("AddressID", refAddress);
//5. Create Entity and done
engine.createEntityFromTemplate(this, tempPerson, null);
Note that createEntityFromTemplate(this, tempPerson) method don't fire rules associated with it.(if any) while createEntityFromTemplate(this, tempPerson, null) method should execute rules associated with it(if any).