If a query contains two identical subqueries, will they both run?
Identical subqueries are normally only performed once. However, the way you write a query isn't neccessarily the actual execution order, so there are no guarantees.
To make sure, view your estimated execution plan with one or both of the subqueries, and compare them.

In your example, you could place the subquery in a JOIN instead, which would make it both reusable and more easy to read.

SELECT g.*, p.Amt AS 'TotalCost', p.Amt * 0.1 AS 'GST'
FROM Group g
LEFT JOIN (SELECT GroupID, SUM(Price) AS Amt
    FROM Product
    GROUP BY GroupID) AS p ON p.GroupID = g.GroupID