Patching SQL Server 2012
No. Each CU contains all the fixes in the CUs prior to it.

For the second part of the question, the only RELIABLE way supported across most versions (2005+) is to get a 4 part number and compare it to any of the comprehensive build lists available on the internet:

Select Serverproperty('ProductVersion') 


You can also check @@Version but it's not reliable, as some older CUs don't list their CU number as they were meant to. You can also try Serverproperty('ProductUpdateLevel') but it's only supported on a few newer versions and service packs of SQL Server.

So I stick with build numbers. Most DBAs have one script or another to pull data from web sources into a table to do translations.

If in doubt start the CU installer and it will check whether it's needed or not. It won't let you continue upgrading if you've already upgraded everything on the server.