Yes, exactly! Any ideas on how I can do this?
Unfortunately, there are multiple issues standing between you and this goal.
One is indirectly touched on in Darshil's reply, which is that if someone visited that page in a session other than the one where they filled out the form, you won't know about that activity until later (if ever) when it's associated with lead via other means. But that might be a minor concern.
The more major problem is that Marketo does distinguish once-anonymous, now-merged events in the Activity Log UI, but you can't constrain on this property ("Anonymous Triggering Deferred") in a Smart List.
You could stamp a DateTime field when they visited one of your interesting pages, and then stamp another DateTime field when they fill out the form. This is the way I would do it, but it requires a webhook to compare the 2 dates, since you can't do the cross-token comparison directly in the Smart Campaign.
You might experiment with simply flipping a flag (Boolean) when the interesting pages are visited, and then check whether that field is true when they fill out a form. However, I believe this logic has a race condition and the deferred data updates are not guaranteed to happen in sequence (before the form fillout is processed).
Yet another approach, since you're tracking the same Munchkin session anyway, is just to store whether they visited an interesting page in a cookie, on the client side, then add that to a hidden field on the form.
Another far more complex method is to extract the Activity Logs, which would have guaranteed success... but is a much bigger ball of wax. 🙂