Your portability requirements only cover .NET Framework v.3.5 and v.4.0. You won't have any portability problems. As to Access, it should be listed in prerequisites as all other software used by your project beyond .NET Framework. This is really a good idea to leave installation of Access and other products to the customer, by many reasons. All you need is keeping the target .NET version to v.3.5 after you migrate to Visual Studio 2010 (or later, in future). If you use Visual Studio 2008, it will be done by default.
In contrast, the .NET Framework re-distributable itself can easily be deployed with your application, see
http://msdn.microsoft.com/en-us/library/6hbb4k3e.aspx[
^].
—SA