Metro apps are the applications that are designed to run only on windows 8 operating system and take advantage of windows 8 new user interface. The same app can run on windows 8 desktop version and mobile version.
Metro apps are not backward compatibility so they dont run on windows 7 or older machines. Right now there is not a way make a single programe to run on three different platforms (windows 7, windows 8 desktop version, windows 8 mobile). If you mainly target for windows 7, it can run on windows 8 devices baed on intel processor (Microsoft surface tablet, and many windows 8 laptops, desktops). It deosnot runs on windows 8 RT version. And metro style apps can run on any version of windows 8 but not on windows 7. So it is almost impossible to develop a single program to support all version of windows.
Portable class library is technique to share the common class libraries between the Windows 8 Metro apps and Windows 7 application to minimize coding. Here you should create two version of executables (one for windows 8 metro app and one for windows 7) but can use the common tasks like saving data etc using Portable class library.
Even though windows 8 and windows 7 apps use different UI components, if windows 7 app is developed on WPF the xaml style UI building can be simliar to both platforms.