I can't post in great detail until later on this evening/tomorrow, but I'll give you a quick overview.
In advanced worldgen, use -36/-36 for min/max temperature. Try embarking near the colder edge of the world. You'll also need to increase LEVELS_ABOVE_GROUND: to at least 20.
Here's a worldgen I used for my ice fortress:
Created in DF v0.34.11.
[WORLD_GEN]
[TITLE:GLACIER2]
[SEED:zVI6KueIJwQPuvTuaGhv]
[HISTORY_SEED:LLFy6qzmHwdVI8srxXfm]
[NAME_SEED:4KHuRN1gzg82zuOoBHfx]
[CREATURE_SEED:hnZXRh5sBwsMmaPqkTCH]
[DIM:65:65]
[EMBARK_POINTS:2500]
[END_YEAR:250]
[BEAST_END_YEAR:200:99]
[REVEAL_ALL_HISTORY:0]
[CULL_HISTORICAL_FIGURES:1]
[ELEVATION:100:400:0:0]
[RAINFALL:9:9:0:0]
[TEMPERATURE:-36:-36:0:0]
[DRAINAGE:32:32:0:0]
[VOLCANISM:0:0:0:0]
[SAVAGERY:0:0:0:0]
[ELEVATION_FREQUENCY:4:9:0:0:0:1]
[RAIN_FREQUENCY:1:1:1:1:1:1]
[DRAINAGE_FREQUENCY:1:1:1:1:1:1]
[TEMPERATURE_FREQUENCY:1:1:1:1:1:1]
[SAVAGERY_FREQUENCY:1:1:1:1:1:1]
[VOLCANISM_FREQUENCY:1:1:1:1:1:1]
[MINERAL_SCARCITY:1000]
[MEGABEAST_CAP:0]
[SEMIMEGABEAST_CAP:0]
[TITAN_NUMBER:0]
[TITAN_ATTACK_TRIGGER:0:0:0]
[DEMON_NUMBER:0]
[NIGHT_TROLL_NUMBER:0]
[BOGEYMAN_NUMBER:0]
[VAMPIRE_NUMBER:0]
[WEREBEAST_NUMBER:0]
[SECRET_NUMBER:0]
[REGIONAL_INTERACTION_NUMBER:0]
[DISTURBANCE_INTERACTION_NUMBER:0]
[EVIL_CLOUD_NUMBER:0]
[EVIL_RAIN_NUMBER:0]
[GOOD_SQ_COUNTS:0:0:0]
[EVIL_SQ_COUNTS:0:0:0]
[PEAK_NUMBER_MIN:0]
[PARTIAL_OCEAN_EDGE_MIN:0]
[COMPLETE_OCEAN_EDGE_MIN:0]
[VOLCANO_MIN:0]
[REGION_COUNTS:SWAMP:0:0:0]
[REGION_COUNTS:DESERT:0:0:0]
[REGION_COUNTS:FOREST:0:0:0]
[REGION_COUNTS:MOUNTAINS:0:0:0]
[REGION_COUNTS:OCEAN:0:0:0]
[REGION_COUNTS:GLACIER:0:0:0]
[REGION_COUNTS:TUNDRA:0:0:0]
[REGION_COUNTS:GRASSLAND:0:0:0]
[REGION_COUNTS:HILLS:0:0:0]
[EROSION_CYCLE_COUNT:0]
[RIVER_MINS:0:0]
[PERIODICALLY_ERODE_EXTREMES:0]
[OROGRAPHIC_PRECIPITATION:0]
[SUBREGION_MAX:2750]
[CAVERN_LAYER_COUNT:1]
[CAVERN_LAYER_OPENNESS_MIN:5]
[CAVERN_LAYER_OPENNESS_MAX:10]
[CAVERN_LAYER_PASSAGE_DENSITY_MIN:0]
[CAVERN_LAYER_PASSAGE_DENSITY_MAX:0]
[CAVERN_LAYER_WATER_MIN:20]
[CAVERN_LAYER_WATER_MAX:25]
[HAVE_BOTTOM_LAYER_1:1]
[HAVE_BOTTOM_LAYER_2:1]
[LEVELS_ABOVE_GROUND:24]
[LEVELS_ABOVE_LAYER_1:8]
[LEVELS_ABOVE_LAYER_2:2]
[LEVELS_ABOVE_LAYER_3:2]
[LEVELS_ABOVE_LAYER_4:2]
[LEVELS_ABOVE_LAYER_5:3]
[LEVELS_AT_BOTTOM:2]
[CAVE_MIN_SIZE:1]
[CAVE_MAX_SIZE:1]
[MOUNTAIN_CAVE_MIN:0]
[NON_MOUNTAIN_CAVE_MIN:0]
[ALL_CAVES_VISIBLE:1]
[SHOW_EMBARK_TUNNEL:2]
[TOTAL_CIV_NUMBER:5]
[TOTAL_CIV_POPULATION:0]
[SITE_CAP:0]
[PLAYABLE_CIVILIZATION_REQUIRED:1]
[ELEVATION_RANGES:0:0:0]
[RAIN_RANGES:0:0:0]
[DRAINAGE_RANGES:0:0:0]
[SAVAGERY_RANGES:0:0:0]
[VOLCANISM_RANGES:0:0:0]
Once you've embarked somewhere flat, move your loo'
k' cursor to a spot below and to the left of your wagon.
Then in dfhack
liquids
w
2
r
50
50
1
enter
q
What should happen is, it selects water (instead of magma, which, while fun, is not our goal...
) , sets it to 2/7 water depth (which creates ice much faster than 1/7) r allows us to define the range, which we then set to 50 wide, 50 long, and 1 Z-level high. enter places the water. q exits the liquids interface, taking you back to the main dfhack command line.
prior to do that, you can check the temperature on the embark with the 'probe' command in dfhack. My embark temp was 9918U and it worked fine.
once that level completely freezes, try moving up one Z level and making more ice above it. You may have to wait a few seconds to let the water freeze to ice. I recommend placing the water while the game is paused, unpausing it until it freezes, then moving up and continuing/repeating.
Just remember, ice "floors" built with this method are only supported orthogonally, not diagonally. It makes quite a difference when mining.