1) Features, Epics, and User Stories are all different sizes of the same thing. For example, in a web application, one feature may be:
"As a user, I'd like to manage my profile."
In that feature, and one Epic may be:
"As a user, I'd like to be able to change my personal information so that I can keep it up-to-date."
And inside that epic, there are a number of user stories and one might be:
"As a user, I'd like to be able to enter my ZIP code and have the city and state auto-populated so that I can enter my information faster."
One of the best resources I can recommend for really getting a handle on user stories (and their larger cousins) is this video by Mike Cohn. It's a bit long, but time well-spent.
2) What you're describing is simply working in parallel (I don't know of any other term for it). Agile development is really more about collaborating between team members and the customers and working in shorter iterations to deliver frequently and validate your work. There's obviously a lot more to it. You can start with the Agile Manifesto, though that doesn't really explain how it's done. The wikipedia page actually has one of the best overviews of agile development I've found online.