«Amo-o» é forma correcta, embora, ao que sei, no português brasileiro informal se diga «amo ele». Não se usa o pronome lhe, porque este desempenha a função de objecto indirecto, e o verbo amar selecciona objecto directo: é por isso que «amo o meu filho» é equivalente a «amo-o» e não a «amo-lhe».
Quanto a «amo-nos», em princípio, é uma sequência de verbo e pronome possível, parafraseável por «eu amo-nos a nós», em que «a nós» indica reforço do objecto directo «-nos» e não um objecto indirecto.