There are many ways to model poor surface conditions with FS9, FSX or P3D.
As rdtv91 noted, FSCaptain looks at the current METAR and ambient conditions to warn you and then to apply poor braking functions on taxi / runway phases.
FSCaptain also offers the ability to tune any airport's ability to clear any ground contamination such that if you were working with a large & professionally-handled airport (EGCC, EDDM, LSZH, KORD, etc...) you could have exceptional ground crews to clear your surfaces. If you were at a smaller or inefficient airport (which you could define) then contamination removal would be slower.
Like other add-ons, FSCaptain uses current METAR/Ambient conditions together with projections. However, for several years I've worked on the bits for a service which would provide a short-term 'weather history' instead of simply 'current conditions' so if LSZH were to experience a 48-hour blizzard... it could take somewhere in the range of 36 to 72 hours to have all surfaces clear of contamination.
With some time, FSCaptain could factor 'current weather history' into its functions.
Totally apart from FSCaptain, the DynamicFriction.lua script which can be executed with FSUIPC offers lots of possibilities on its own. Years ago, I started running a custom script that will bog me down if I'm on 'non-hard surfaces' in rain/snow conditions. Imagine trying to taxi in mud.... :smile:
I've recently started tests with a new script that will do the same with a surface type of 'Brick' so I can simulate an EMAS surface with some hand-adjusted airport BGLs.
About two months ago I experienced a landing at my KROA 34 (on an overcase ILS34 approach) where my default CRJ7 did the same thing that happened with Governor Pence last week. (Overrun, EMAS, stop, evacuate.)
Our simulators have lots of "hooks and whistles" that anyone can easily take advantage of.