Yes he can. The problem is what to do next. Anyone he nominates to replace Sessions will have to be confirmed by the Senate. They mostly hate Trump and feel loyalty to their former, and most likely future, fellow senator. If Trump fires Sessions the Senate might take the opportunity to publicly embarrass him by declining his replacement nominee. They will certainly make a public spectacle out of the confirmation process. So, Trump has to bide his time and wait for the right opportunity to fire him.
Right. Recent history folks. The Senate Republicans said they would not approve a replacement. It sounds like they are loosening up for after the midterms.