well, if its an integer, it has no fractional part to it. An integer is just a fixed point number with no fractional part. Unless you are talking about an integer you really meant was a fractional number and you biassed it by 2^n (where N is the number of fractional bits). In which case you need to tell us what the value of N is. You DONT need an LPM divide for this.
Answer to questions
1. You zero pad the inputs to the correct number of bits (integer and fractional) and the result will be correct.
2. You need to just assign it to the correct sized ufixed or sfixed values (fixed point is just integers, offset by 2^n)
either way, there are the to_ufixed and to_sfixed functions from the fixed point package.
one point to note. You should not be using the std_logic_unsigned package, its not an IEEE standard. If you have a number, you shouldnt make it a std_logic_vector. There is no need to make ports std_logic_vector, they can be anything.