Armies containing a lot of phalanxes can be tough. Try not using your skirmishers unless they're throwing javelins into their back, and keeping your guys hitting their front from getting to vigorous. Dancing in front of a phalanx is much more effective than actually fighting. If you hit their weaker flank hard enough, you can break their morale. Or just recruit elephants in Africa :). For better tips, just use the search function. I'm sure that question has been answered countless times.

As far as moving an army straight forward, I have two ways of doing that. First, select your main line of troops (ungrouped) (relatively symmetrical or uniform is best) then order them to walk to the farthest possible point in the direction you want them to go. Because you're telling them to move somewhere far off, they go relatively straight, and don't think you're trying to maneuver them in some tricky fashion. This is especially effective with phalanxes in phalanx and guard mode, as they tend to halt on contact with the enemy instead of pushing through them. Otherwise you need to be relatively confident you can change your army's orders at the right time.

The other main option is alt-move. Select your units (again, relatively symmetrical helps because the computer will put the weighted 'center' of the units you're selecting where your mouse pointer orders them, if a cavalry unit or two is way to the side or one wing is heavier that can make things a bit wonky) and hold 'alt' while ordering them to move. They might not walk straight, but upon reaching the destination they will re-order themselves into the exact formation they were in when they started.