Is there any difference in meaning between 小さな and 小さい / 大きな and 大きい? I know that they have different syntactical rules, but semantically is there any difference? I was once told that 大きな was more appropriate for non-physical things, e.g. 大きな声.
Shogakukan's Ruigo Reikai Thesaurus Dictionary has this to say about differences in meaning and usage:
Ōkii is used as both predicate and as a continuative modifier as in yume ga ōkii, ōkiku yume miru, but ōkina is only used in the format of ōkina...(noun).
When modifying a noun to mean that a thing's degree or relevant scope is large, ōkina is used more often when the noun is abstract, such as a "problem" or "effect".
There's also a table indicating different valid and invalid constructions, which I've clumsily recreated below. The - indicates an invalid use, while the △ indicates an acceptable but less-common use.
～声 | 声が～ | ～問題に発展する | ～影響がある | ～拍手で迎えられる
大きい 〇 | 〇 | △ | △ | 〇
大きな 〇 | － | 〇 | 〇 | 〇
As shown above, both 大きい声 and 大きな声 would be equally valid. The person who told you that 大きな should be used more for non-physical things might have used the wrong word; given the description above, the distinction appears to be abstract vs. concrete, rather than physical vs. non-physical.
Grammatically, 小さい and 小さな have the same usage constraints as 大きい and 大きな. The thesaurus does not, however, mention any differences in abstract vs. concrete between 小さい and 小さな.