prove : if $G$ is a finite group of order $n$ and $p$ is the smallest prime dividing $|G|$ then any subgroup of index $p$ is normal
For the second question, notice that in the proof $[H:K]=k$, so $k\mid |H|\mid |G|$ since $H\leq G$. So any prime divisor of $k$ is also a divisor of $|G|$. But every prime divisor of $k$ divides $(p-1)!$, hence is less than $p$. Since $p$ is the least prime dividing $|G|$, $k$ cannot have any prime divisors, else we would have a prime divisor of $|G|$ strictly less than $p$. But the only positive integer with no prime factors is $1$, so $k=1$.
But then $[H:K]=1$, and since $H$ and $K$ are finite groups, that means $|H|=|K|$, so necessarily $H=K$.
Added: For the first question, recall that if $q$ is a prime, and $q\mid ab$, then either $q\mid a$ or $q\mid b$. This is Euclid's Lemma. So if $q$ is a prime factor of $(p-1)!=1\cdot 2\cdot 3\cdots p-1$, we must have $q\mid j$ for some $j=1,2,\dots,p-1$. So necessarily $q<p$.
If you're not familiar with that property of primes, another way to see this is to observe that the prime factorization of $(p-1)!$ is the product of the prime factorizations of $1,2,\dots,p-1$. But for each $1\leq j\leq p-1$, the prime factorization of $j$ must not have any prime factors greater or equal to $p$. So the prime factorization of $(p-1)!$ consists only of primes less than $p$.
We can use the Cayley Theorem to show that:
Theorem: Let the group $G$ have a subgroup $H$ of index $n$, then there is a normal subgroup $K$ of $G$ such that $$K\subseteq H,~~ m=[G:K]<\infty,~~m\mid n!$$
Now let $H\leq G$ and $[G:H]=p$ such that $p$ has the property the question noted. So according to the above theorem there is a normal subgroup $K$ of $G$ contained in $H$ such that $[G:K]\big|p!$. But $[G:H]\big ||G|$ also, so since $p$ is the smallest dividing number then we have necessarily have $$[G:K]\big|p$$ and this means that $K=H$.
Consider the prime factorizations of $p-1, p-2,$ etc. all the way down to $1$. None of these can be divisible by $p$ because, as $p$ is a prime, the lowest number divisible by $p$ is $p$. So since $p$ does not divide any of those numbers, it does not divide their product either, i.e. $p\not\mid (p-1)!$. The same goes for all primes $q$ greater than $p$, we have that $q\not\mid p-1$, $q\not\mid p-2$, etc. and thus $q\not \mid (p-1)!$. So each prime divisor of $(p-1)!$ is less than $p$.